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