2017-02-05 2 views
1

Услышь мой маршрутПочему мое решение не возвращает данные?

.state('single_event',{ 
     url: '/event/:id', 
     templateUrl: 'single_event.html', 
     controller: 'singleEvent', 
     resolve: { 
      resolvedVal: function() { 
       return 'Karl'; 
      } 
     } 

    }); 

Что мой контроллер

mainApp.controller('singleEvent',['$scope', function ($scope, resolvedVal) { 
    console.log(resolvedVal); 
}]); 

Почему я не могу получить данные из этого решить? Я всегда получал неопределенность, когда пытаюсь получить доход.
Спасибо!

+0

что 'Karl'. –

+1

возможно 'return Promise.resolve ('Karl');' или 'return $ q.when ('Karl')' - Думаю, вам нужно вернуть фактическое обещание –

ответ

1

Вы не ввели правильную переменную разрешения. Вы используете обозначение «квадратные скобки» для инъекций dependecies, которые мы используем для очистки кода, но вы не пропускаете в нем resolvedVal. Вот почему вы становитесь неопределенными.

Вот обновленный код, он будет работать.

mainApp.controller('singleEvent',['$scope', 'resolvedVal', function ($scope, resolvedVal) { 
    console.log(resolvedVal); 
}]); 

Дайте мне знать, если это не поможет решить вашу проблему.

Более подробную информацию о том, как придать зависимостей внутри внутри контроллеров «квадратными скобками», см это answer

+0

Спасибо за вашу помощь, но это не решает вопрос. Проблема заключалась в настройке контроллера через «ng-controller» в моем html и определении контроллера на моем маршруте. Это вызывает некоторые конфликты. Но ваш ответ был очень полезен в другом вопросе. Благодаря !!! – Adoratus