大佬教程收集整理的这篇文章主要介绍了AngularJS:不在RouteProvider中而是在Controller中解析?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我马上就知道这是正确的方法,我只需要在完成加载后才能使控制器加载,通常大多数示例都会告诉您将routeprovder中的代码解析为内联函数,但这听起来不对.控制器需要它,所以为什么不让控制器实现要解决的功能.这听起来就像我在寻找的那样.这似乎使用了原型模式??
function PhoneListCtrl($scope,phones) { $scope.phones = phones; $scope.orderProp = 'age'; } PhoneListCtrl.resolve = { phones: function(Phone,$q) { // see: https://groups.google.com/forum/?fromgroups=#!topic/angular/DGf7yyD4Oc4 var deferred = $q.defer(); Phone.query(function(successData) { deferred.resolve(successData); },function(errorData) { deferred.reject(); // you Could optionally pass error data here }); return deferred.promise; } }
问题是我的控制器是这样的
'use strict'; angular.module('TestApp') .controller('ItemsCtrl',function ($scope) { });
那么当我的控制器在模块内声明时,如何在控制器上应用新功能?
我真正需要的是类似的东西
TestCtrl.resolve = { items: function( $q) { .......... return deferred.promise; } }
然后这将允许我在我的routeprovider ..
when('/items',{ templateUrl: 'views/items.html',controller: 'TestCtrl',resolve: 'TestCtrl.resolve'}). // Need to use ' around resolve?
但我很困惑如何让这个工作?
我真的很喜欢任何反馈,我很茫然.
以上是大佬教程为你收集整理的AngularJS:不在RouteProvider中而是在Controller中解析?全部内容,希望文章能够帮你解决AngularJS:不在RouteProvider中而是在Controller中解析?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。