所以我对角度ui.router有问题,显然它没有将数据从解析器传递到控制器。我设置了以下状态:
$stateProvider
.state('myState', {
url: "/myUrl",
templateUrl: "myTemplate",
controller: 'myController',
resolve: {
randomData: function($q, $sails) {
var defer = $q.defer();
$sails.get("/me")
.success(function(data) {
console.log(data) // prints out actual data
defer.resolve(data);
})
return defer.promise;
}
}
在
myController
中,我基本上有myApp.controller('myController', [
'$scope', function ($scope, randomData) {
console.log("randomData:" + randomData)
// prints out 'randomData: undefined'
}
])
根据每位文档,stackoverflow帖子和教程的介绍,这段代码应该可以工作,但是打印始终不确定。有谁知道为什么它不起作用?
最佳答案
您忘记将数据插入数组符号中:
myApp.controller('myController', [
'$scope', 'randomData', // <-- this one
function ($scope, randomData) {
console.log("randomData:" + randomData);
}
])