【问题标题】:Why my resolve doesn't return data?为什么我的解析不返回数据?
【发布时间】:2017-02-05 13:21:31
【问题描述】:

听到是我的路线

.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);
}]);

为什么我无法从此解析中获取数据?尝试退货时,我总是不确定。
谢谢!

【问题讨论】:

  • 什么是Karl
  • 可能是 return Promise.resolve('Karl');return $q.when('Karl') - 我认为你需要返回一个实际的 Promise

标签: javascript angularjs ajax promise


【解决方案1】:

您没有正确注入 resolve 变量。您正在使用“方括号”表示法来注入依赖项,我们使用它来丑化代码,但您没有在其中传递 resolvedVal。所以这就是你变得不确定的原因。

这是更新后的代码,它可以工作。

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

如果它不能解决您的问题,请告诉我。

有关如何在控制器内的“方括号”内注入依赖项的更多信息,请参阅answer

【讨论】:

  • 感谢您的帮助,但这并不能解决我的问题。问题在于通过我的 html 中的“ng-controller”设置控制器并在我的路由中定义控制器。它会产生一些冲突。但是您的回答对另一个问题非常有帮助。谢谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2012-08-24
  • 1970-01-01
相关资源
最近更新 更多