Я пытаюсь выяснить, как правильно установить свойства в области $ my контроллера, когда эти свойства должны быть получены из некоторой службы. Обычно я назначаю области видимости переменных следующим образом:
$scope.firstName = 'John';
$scope.lastName = 'Doe';
Так как же я выполнить ту же самую операцию, когда я хочу, чтобы получить значение свойства из некоторого метода обслуживания?
Вот мой завод метод обслуживания:
var getUserDetails = function() {
return $q.when($resource('/api/v1/common/userdetails').get());
};
Я хотел бы назначить пользовательские данные в $ объеме моего контроллера следующим образом:
$scope.userDetails = commonService.getUserDetails();
Однако, это не работает. Я в конечном итоге, сделать что-то вроде этого, который чувствует себя очень неестественно:
commonService.getUserDetails().then(function (user) {
$scope.user = user;
});
Не говоря уже выше будет возвращать обещание, а не только чистые данные пользователя, результат хотелось бы. Мне кажется, что я не использую обещания, услуги или не назначаю значения области из служб в моем контроллере соответственно.
Может кто-нибудь, пожалуйста, сообщите мне, если это правильно, и если нет, пожалуйста, покажите правильный способ сделать это?
Это то, как обещают работать, если вы используете маршрутизатор, который вы не можете использовать, в зависимости от вашей ситуации/usecase ... Все зависит от того, как должно работать приложение/страница – Jens
https: //docs.angularjs .org/руководство/миграция # шаблоны-нет-больше-автоматически-UnWrap-обещания –