您好,登錄后才能下訂單哦!
前言
由于controllers之間不共享scope,如果希望在controllers之間傳遞參數,可能需要通過其他的方式實現,以下是當前我用到的兩種在controllers之間傳遞參數的方法。
注:參考文章Sharing Data Between Angular Controllers
一、service
可以寫一個包含get/set的service,取參數/賦參數
.factory('paramService',function(){ return { result:[], getResult:function(){ return this.result; }, setResult:function(res){ this.result = res; } }; })
然后可以在controllerOne中賦值,在controllerTwo中取值
// 賦值 .controller('one',function(paramService){ paramService.setResult('one'); }) // 取值 .controller('two',function(paramService){ var param = paramService.getResult(); })
二、$stateParams
第二種方法用于路由間傳遞參數,用途也比較廣泛,使用場景比較多
// 傳參 .state('one',{ url:'one', controller:'one', template:'one.html', params:{ name:'john' } }) // 取參 .controller('one',function($stateParams){ var name = $stateParams.name; })
others/localStorage
其他方法可以使用一些h6的小技巧,比如使用localStorage來存參/取參,其他的方法,暫時沒想到也沒用到,有待后續補充.
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用Angular能帶來一定的幫助,如果有疑問大家可以留言交流。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。