angular 跳轉頁面時傳參


首先,你需要已經配置過你的rout,比如:

$stateProvider
            .state('firstPage',{
                url:'/Page/firstPage',
                templateUrl: 'Page/views/firstPage.html',
                controller: 'firstPageCtrl'
                //dependencies: ['service/vipSeachService']
            })
          
            .state('secPage', {
         params:{'message':null}, url:
'/Page/secPage', templateUrl: 'Page/views/secPage.html', controller: 'secPageCtrl' })

其中注意第二個地址信息中的params屬性,這個就是你要接受參數的對象,以key :value的形式定義

而在跳轉頁面時,兩個方法都可以傳參,一種是直接寫在html中

<a ui-sref="sec-page">跳轉第二頁</a>

此時傳參跟在頁面地址的后面

<a ui-sref="sec-page({message:messageId})">跳轉第二頁</a>

第二種就是寫在controller中

.controller('firstPageCtrl', function($scope, $state) {
  $state.go(
'secPage');
});

同樣參數寫在地址后面,以對象的形式

.controller('firstPageCtrl', function($scope, $state) {
   $state.go('secPage',{message:messageId}); 
});

傳過去的參數,需要在目標頁面的controller中用$stateParams接收,改方法需要提前注入

.controller('secPageCtrl', function($scope, $state,$stateParams) {
   var test=$stateParams.message;
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM