遇到一個(gè)頁(yè)面跳轉(zhuǎn)的時(shí)候,在跳轉(zhuǎn)后的頁(yè)面獲取跳轉(zhuǎn)前頁(yè)面的數(shù)據(jù),我想到用一種是localstorage,一種用broadcast和on,然后老大說(shuō)不用這么麻煩,既然都$state.go了直接帶參數(shù),這次就介紹一下$state.go頁(yè)面跳轉(zhuǎn)傳遞參數(shù)。
1.路由頁(yè)面(注意這里要在路由上添加一個(gè)參數(shù)用于傳遞數(shù)據(jù),不然在頁(yè)面跳轉(zhuǎn)的時(shí)候會(huì)filter)
.state("home.workpiece",{? // 跳轉(zhuǎn)前的頁(yè)面
url:"/workpiece",
views: {
home: {
templateUrl: prefix + "project/workpiece.html",
controller: "workpieceCtrl"
}
}
})
.state("home.workpieceDetail",{ ? //跳轉(zhuǎn)后的頁(yè)面
url:"/workpieceDetail?workpieceList",
views: {
home: {
templateUrl: prefix + "project/workpiece_detail.html",
controller: "workpieceDetailCtrl"
}
}
})
也可以將參數(shù)放在params中
.state("home.workpieceDetail",{
url:"/workpieceDetail",
views: {
home: {
templateUrl: prefix + "project/workpiece_detail.html",
controller: "workpieceDetailCtrl"
}
},
params: {workpieceList:null}
})
2.在workpieceCtrl中
angular.module("app").controller("workerpieceCtrl", ["$scope", "$state", function($scope, $state){
"use strict";
$state.Go("home.workpieceDetail", {workpieceList : workpieceData});
}
]);
3.workpieceDetailCtrl中
angular.module("app").controller("workerpieceCtrl", ["$scope", "$stateParams", function($scope, $stateParams){
"use strict";
$scope.workpieceList = JSON.parse($stateParams.workpieceList);
}
]);
這樣就可以將在頁(yè)面跳轉(zhuǎn)的時(shí)候傳遞數(shù)據(jù)了。
最后這個(gè)鏈接介紹了頁(yè)面跳轉(zhuǎn)傳遞參數(shù)的四種方式:http://www.cnblogs.com/Razor0/p/5200435.html