AngularJS ui-router 用resolve、service预先加载数据写法,属于优化性能方面吧


AngularJS的service怎么声明此处就不再赘述,下面的例子是ui-router中使用service的实现代码

$stateProvider.state('myState', { url: "/itemDetail/:itemId", templateUrl:"view/item.detail.html", resolve:{ //你没有看错,myData1的值是个字符串 //但是必须是个已经被声明了的service myData1: "myService", //myData2要想用myService就要把myData1当作参数写进来 //是不是有些蛋疼? // myData2: function(myData1, $stateParams){ return myData1.get({ id:$stateParams.itemId }).$promise.then(function (response) { //对取回来的response还可以干些事情 return response; }); }, }, // controller会一一等待上述数据被取回之后才被实例化 controller: function($scope,$stateParams,myData2){ //现在你可以放心的用数据了! $scope.title = myData2.title; } })


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM