ui-sref、$state.go 的区别
1 ui-sref、$state.go 的区别
ui-sref 一般使用在 …;
消息中心
$state.go(‘someState’)一般使用在 controller里面;
.controller(‘firstCtrl’, function($scope, $state) {
$state.go(‘login’);
});
这两个本质上是一样的东西,我们看ui-sref的源码:
…
element.bind(“click”, function(e) {
var button = e.which || e.button;
if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr(‘target’)) ) {
var transition = $timeout(function() {// HERE we call $state.go inside of ui-sref$state.go(ref.state, params, options);});
ui-sref最后调用的还是$state.go()方法
2 如何传递参数
首先,要在目标页面定义接受的参数:
传参,
ui-sref=“reg” 与state里的状态名对应
**
$state.go跳转中 传递对象参数
1.传数据
//以对象为参数传递
var petObj = JSON.stringify($scope.pet);
$state.go(‘petDetails’,{‘petObj’:petObj});
2.在app.js中定义参数名
.state(‘petDetails’, { //宠物详情
url:’/petDetails’,
params:{‘petObj’:null},
cache:‘false’,
templateUrl: ‘templates/petDetails.html’,
controller: ‘PetDetailsCtrl’
})
3.接收
s c o p e . p e t = J S O N . p a r s e ( scope.pet = JSON.parse( scope.pet=JSON.parse(stateParams.petObj);
标签:
相关文章
-
无相关信息