所以我对角度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);
    }
])

09-25 19:38