ui-router传递参数

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

例如有两个页面: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;
});
时间: 2024-10-15 15:02:34

ui-router传递参数的相关文章

Angularjs中UI Router全攻略

摘自:Angularjs中UI Router全攻略 温馨提示:想要了解 angular-ui-router的同学,从上往下读一遍,能带随着coding那就更好了,保证你对angular-ui-router基本全部掌握. 如何引用依赖angular-ui-router angular.module('app',["ui.router"]) .config(function($stateProvider){ $stateProvider.state(stateName, stateCofi

【网页前端】WeX5架构下,WinDialog子窗口1传递参数给主窗口关闭,再弹出子窗口2失败

子窗口1的参数传递和关闭窗口函数         this.owner.send({            name:name.toString(),            value:id        }); this.close(); 子窗口2打开的函数 case window.mainRetName.SelectSchool:                    //justep.Util.hint(event.data.value);                    this.

关于Delphi中多线程传递参数的简单问题

http://bbs.csdn.net/topics/390513469/ unit uThread; interface uses Classes; type Th = class(TThread) private { Private declarations } protected procedure Execute; override; end; 以上是创建的一个多线程 我在另外一个单元里Unit1有一个函数 function Myfun(username,password:string)

如何给html元素的onclick事件传递参数(即如何获取html标签的data-*属性)

最近好忙,吐个槽先... 现在做的一个小系统为了达到领导所说的很炫的效果有用到Metro UI CSS,但是因为如何给每个磁贴(div标签)的click事件传递参数折腾了蛮久(偶是菜鸟),后来终于找到一个解决方案即通过data-*属性,下面分别为jQuery和js实现: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <

ngRoute 和 ui.router 的使用方法和区别

在单页面应用中要把各个分散的视图给组织起来是通过路由机制来实现的.本文主要对 AngularJS 原生的 ngRoute 路由模块和第三方路由模块 ui.router 的用法进行简单介绍,并做一个对比. ngRoute 使用方法 1) 引入 angular-route lib 无论是 ngRoute 还是 ui.router ,作为框架额外的附加功能,都必须以 模块依赖 的形式被引入. 1 <script src="lib/angular-route.js"></sc

Net线程足迹 传递参数至线程

方法一:应用ParameterizedThreadStart这个委托来传递输入参数,这种方法适用于传递单个参数的情况. [c-sharp] view plaincopy using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sys

Vue - 路由传递参数

Vue 2.0  路由传递参数 Vue 路由传递参数 有两种方式: 一.用name传递参数 两步完成用name传值并显示在模板里: 在路由文件src/router/index.js里配置name属性. 1 2 3 4 5 6 7 routes: [ { path: '/', name: 'Hello', component: Hello } ] 模板里(src/App.vue)用$router.name的形势接收,比如直接在模板中显示: 1 <p>{{ $route.name}}</p&

ASP.NET 页面间传递参数的方法

这个新特性意味着ASP.NET2.0开发人员目前有三种可供选择的技术来将数据从一个web页面传送到另外一个页面.这三种方法是:响应重定向,服务端传输和新的跨网页提交特性.我们可以已经熟悉前两种技术了,因此,我们只是简要地复习一下它们,然后我们会将主要精力放到学习如何使用跨网页提交特性,以及阐述一下这种方法和响应重定向以及服务传输方式有什么不同. 一.响应重定向方法 响应重定向方法是目前为止将一个网页重定向到另一个网页的最简单的方法的最简单的方法.当Web服务器接到一个重定向请求后,它会将一个响应

使用匿名函数给setInterval()传递参数

在使用JScript的时候,我们有时需要间隔的执行一个方法,比如用来产生网页UI动画特效啥的.这是我们常常会使用方法setInterval或setTimeout,但是由于这两个方法是由脚本宿主模拟出来的Timer线程,在通过其调用我们的方法是不能为其传递参数. 我们常用的使用场景是: window.setTimeout(“delayRun()”, n);window.setInterval(“intervalRun()”, n); window.setTimeout(delayRun, n);w

android传递参数的方法

Android由众多Activity组成,每个Activity对应不同的功能和UI,但是每个Activity都是一个单独的类,所以需要传递参数.一般来讲,Android中传递参数是在不同的Activity中.大致上有5类方案: 1 静态 static 定义方法: 1 public class MainActivity extends TabActivity { 2 public static DatabaseHelper mHelper; 3 public static SQLiteDataba