页面跳转时传参问题

1.js定义一个controller,2.html里面应用controller,3.controller里面TODO的位置填入,此时传参跟在页面地址的后面,一种是直接写在html中,第二种就是写在controller中

具体写法举例:

首先,你需要已经配置过你的rout,比如:

1.js定义一个controller

$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'
})
function MyCtrl($scope, $location) {

  $scope.jumpToUrl = function(path) {

    //TODO:add code here

  };

}

其中注意第二个地址信息中的params属性,这个就是你要接受参数的对象,以key
:value的形式定义

2.html里面应用controller

而在跳转页面时,两个方法都可以传参,一种是直接写在html中

<div ng-controller=‘MyCtrl'>

  <button ng-click="jumpToUrl('/signin')">signin</button>

</div>
<a ui-sref="sec-page">跳转第二页</a>

3.controller里面TODO的位置填入

此时传参跟在页面地址的后面

$location.path(path);
<a ui-sref="sec-page({message:messageId})">跳转第二页</a>

然后运行起来就可以看效果了。

第二种就是写在controller中

假设当前页面的url是:

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

$location.path(path);执行后就会跳到

同样参数写在地址后面,以对象的形式

如果你发现页面不能正常跳转,可以在$location.path(path);后面再加上一句

.controller('firstPageCtrl', function($scope, $state) {
  $state.go('secPage',{message:messageId}); 
});
var curUrl = $location.absUrl(); //用来显示url全路径

传过去的参数,需要在目标页面的controller中用$stateParams接收,改方法需要提前注入

调试跟踪页面时查看curUrl的值到底变成多少,大概就能猜出问题出在哪了。

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

好了,以上就是在AngularJS利用Controller完成URL跳转的全部内容,希望本文对大家学习AngularJS有所帮助。

以上所述是小编给大家介绍的Angular
页面跳转时传参问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • AngularJS路由实现页面跳转实例
  • angularjs项目的页面跳转如何实现(5种方法)
  • Angular 页面跳转时传参问题
  • Angular中$state.go页面跳转并传递参数的方法
  • AngularJS之页面跳转Route实例代码
  • angular4
    如何在全局设置路由跳转动画的方法
  • AngularJS实现单一页面内设置跳转路由的方法
  • AngularJS页面带参跳转及参数解析操作示例
  • AngularJS实现页面跳转后自动弹出对话框实例代码
  • AngularJS实现的锚点楼层跳转功能示例

您可能感兴趣的文章:

  • AngularJS利用Controller完成URL跳转
  • AngularJS路由实现页面跳转实例
  • angularjs项目的页面跳转如何实现(5种方法)
  • Angular中$state.go页面跳转并传递参数的方法
  • AngularJS之页面跳转Route实例代码
  • angular4
    如何在全局设置路由跳转动画的方法
  • AngularJS实现单一页面内设置跳转路由的方法
  • AngularJS页面带参跳转及参数解析操作示例
  • AngularJS实现页面跳转后自动弹出对话框实例代码
  • AngularJS实现的锚点楼层跳转功能示例