0
我知道這個問題被問了很多,並且我已經閱讀了關於此主題的一堆stackoverflow問題,但是我沒有做任何事情似乎解決了我的問題。請幫助告訴我我是如何成爲一個白癡。Angularjs狀態在控制器之前解決
使用angular 1.3.0。
這裏是我的狀態:
.state('app.admin.cards.edit', {
url: '/edit/:cardID',
views: {
cards: {
templateUrl: 'tpl/cards.edit.html',
controller: 'AdminCardEditCtrl',
resolve: {
data: ['$stateParams', 'AdminCardService',
function ($stateParams, AdminCardService) {
var cardID = $stateParams.cardID;
AdminCardService.getCard(cardID).then(function (data) {
return data;
});
}
]
}
}
},
access: { auth: true, admin: true }
})
這裏是我的控制器:
.controller('AdminCardEditCtrl', ['$scope', '$window', 'AdminCardService', 'data',
function ($scope, $window, AdminCardService, data) {
console.log(data);
}
);
這是我服務的一部分:
.factory('AdminCardService', function ($http, $q) {
return {
...
getCard: function (_id) {
var d = $q.defer();
var promise = $http.post('/api/card', { _id: _id }).success(function (data) {
d.resolve(data);
});
return d.promise;
},
...
};
});
的數據永遠不會被傳遞給控制器而console.log只輸出「undefined」。如果我console.log數據在狀態或在服務中,它都按預期工作。我做錯了什麼人?
這工作就像一個魅力!非常感謝! – codephobia 2014-09-10 19:13:56