热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Angularjs1.0x中使用uirouter路由带参跳转的比较好的实现

2019独角兽企业重金招聘Python工程师标准一般如果直接在url路径后面直接加参数,那么这个路径就写死了,因为如果我以后有跳转到这个路径&#x

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一般如果直接在url路径后面直接加参数,那么这个路径就写死了,因为如果我以后有跳转到这个路径,但是我并没有要带参数,那么久无法匹配到路由路径,就会出现错误。

http://www.cnblogs.com/panda-zhang/p/5318195.html这篇转的博文还是一个比较好的实现。

有时候我们需要把一个页面的参数传到另一个页面,供另一个页面使用。下面讲一下利用路由传参的方法。

例如有两个页面:page1.html和page2.html,点击page1.html跳转到page2.html,并将page1.html的参数传递过去。

(1)在app.js中定义路由信息,并在接收的页面(即page2.html)定义接收参数。

 

.state('page1', { url: '/page1', templateUrl: 'templates/page1.html', controller: 'pageOneCtrl' 
}) 
.state('page2', { url: '/page2',templateUrl: 'templates/page2.html',controller: 'pageTwoCtrl',params:{'ID':{}}
})

 

(2)在page1中定义点击事件。

html中:ng-click=“toPage2(id)”

控制器中:

 

.controller('pageOneCtrl', function ($scope, $state) {$scope.toPage2 = function (id) { $state.go('page2', {ID:id}); }; 
});

 

(3)在Page2中通过$staeParams获得参数ID。

 

.controller('pageTwoCtrl’, function ($scope, $state, $stateParams) {var receivedId = $stateParams.ID;console.log(receivedId);//打印的结果即为id
});

 

这样就可以成功传递参数了。如果需要传递多个参数,

(1)在app.js中定义路由信息,并在接收的页面(即page2.html)定义接收参数。

 

.state('page1', { url: '/page1', templateUrl: 'templates/page1.html', controller: 'pageOneCtrl' 
}) 
.state('page2', { url: '/page2',templateUrl: 'templates/page2.html',controller: 'pageTwoCtrl' ,params:{args:{}}
})

 

(2)在page1中定义点击事件。

html中:

ng-click=“toPage2(name,number)”

控制器中:

 

.controller('pageOneCtrl', function ($scope, $state) {$scope.toPage2 = function (name,number) { $state.go('page2', {args:{NAME:name,NUMBER:number}); }; 
});

 

(3)在Page2中通过$staeParams获得参数ID。

 

.controller('pageTwoCtrl’, function ($scope, $state, $stateParams) {var receivedName = $stateParams.args.NAME;var receivedNumber = $stateParams.args.NUMBER;
});


转:https://my.oschina.net/u/2963099/blog/869580



推荐阅读
author-avatar
bluelucky2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有