1、 ui-sref、$state.go 的区别

ui-sref 一般使用在 <a>...</a>;

$state.go('someState')一般使用在 controller里面;

这两个本质上是一样的东西,我们看ui-sref的源码:ui-sref最后调用的还是$state.go()方法

2、传递参数

2.1 ui-sref

.state('home.questionTodo',{
   url:'/questionTodo',
   views:{
     'right-content@home':{
       templateUrl:'home/questionTodo/questionTodo.view.html',
       controller:'questionTodoCtrl'
     }
   },
 })

.state('home.questionTodo.questionDetail',{
url:'/questionTodo/questionDetail/:questionId',
views:{
'right-content@home':{
  templateUrl:'home/questionTodo/questionDetail/questionDetail.view.html',
  controller:'questionDetailCtrl'
}
},
})

这个是home页下有一个questionTodo页面,该页面有很多question,点击详情,跳转到该问题的详情页,显示该问题,需要在url上传递questionId.

<a ui-sref="home.questionTodo.questionDetail({questionId:question.questionId})">详情</a>

2.2 $state.go

<a ng-click="goDetail(question.questionId)">详情</a>

在questionTodoCtrl中

$scope.goDetail=function(questionId){
$state.go('home.questionTodo.questionDetail',{questionId:questionId});
}

3、 接收参数

在questionDetailCtrl中

.controller('questionDetailCtrl',['$stateParams',function($stateParams){
console.log($stateParams.questionId);
}])

4、传递参数为对象

上面传递的参数是普通的值,会表现在url中,questionTodo/questionDetail/12(12即questionId)

使用params传递参数时,可以传递任意类型值得参数,并且不会表现在url中,但是刷新该页面时,参数会丢失

.state('home.questionTodo.questionDetail',{
url:'/questionTodo/questionDetail',
params:{question:null}, // 定义一个空对象,接收数据,同样也可以传递普通参数,但都不会在url上显示
views:{
'right-content@home':{
  templateUrl:'home/questionTodo/questionDetail/questionDetail.view.html',
  controller:'questionDetailCtrl'
}
},
})
<a ui-sref="home.questionTodo.questionDetail({question:question})">详情</a>
<a ng-click="goDetail(question)">详情</a>
$scope.goDetail=function(question){
$state.go('home.questionTodo.questionDetail',{question:question});
}

angular ui 路由传参的更多相关文章

  1. angular路由传参和获取路由参数的方法

    1.首先是需要导入的模块 import { Router } from "@angular/router";//路由传参用到 import{ActivatedRoute,Param ...

  2. 8.MVC框架开发(URL路由配置和URL路由传参空值处理)

    1.ASP.NET和MVC的路由请求处理 1)ASP.NET的处理 请求---------响应请求(HttpModule)--------处理请求(HttpHandler)--------把请求的资源 ...

  3. vue链接传参与路由传参

    1.链接传参: 例如:链接是:http://localhost:3333/#/index?id=001 我们要获取参数:console.log(this.$route.query.id):即可 2.路 ...

  4. vue路由传参的三种方式区别(params,query)

    最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 <ul class="table_in ...

  5. react router @4 和 vue路由 详解(六)vue怎么通过路由传参?

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...

  6. react router @4 和 vue路由 详解(五)react怎么通过路由传参

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 7.react怎么通过路由传参? a.通配符传参(刷新页面数据不丢失) //在定义路由的 ...

  7. vue动态路由配置,vue路由传参

    动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个"共用"的组件,并且还要传参数,渲染不同的数据 这就要用到动态路 ...

  8. vue 路由传参

      mode:路由的形式 用的哪种路由 1.hash 路由 会带#号的哈希值 默认是hash路由   2.history路由 不会带#的     单页面开发首屏加载慢怎么解决?单页面开发首屏加载白屏怎 ...

  9. vue父子组件路由传参的方式

    一.get方式(url传参): 1.动态路由传参: 父组件: selectItem (item) { this.$router.push({ path: `/recommend/${item.id}` ...

随机推荐

  1. PHP之文件目录基础操作方法

    1.文件的属性信息获取 首先文件具有类型,在linux下边,有block(块设备,如磁盘分区.CD-ROM).char(以字符为输入的设备,如键盘.打印机).dir(目录类型,目录也是文件的一种).f ...

  2. API安全验证之JWT(JSON WEB TOKEN) OLCMS

    假如www.olcms.com/getUserInfo获取用户信息,你怎么知道当前用户是谁?有人说登陆时候我把他UID写入session了,如果是API接口,没有session怎么办,那么就需要把UI ...

  3. IIS 配置问题

    1 IIS错误需要重新运行配置 重新注册.netframework. 解决方式:cmd   C:\Windows\Microsoft.NET\Framework\v4.0.30319 aspnet_r ...

  4. kaptcha验证码的使用(转)

    使用kaptcha可以方便的配置: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线(可以自 ...

  5. JQuery-- 实例:小米左右切图,淡入淡出,自动,小圆点触发轮播图

    示意图: demo <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  6. Spring_总结

    spring配置Bean 配置形式 基于XML文件的方式 属性注入 构造注入 泛型依赖注入 基于注解的方式 配置方式 全类名(反射) 通过工厂方法 FactoryBean 字面值 <![CDAT ...

  7. 【JZOJ4762】【NOIP2016提高A组模拟9.7】千帆渡

    题目描述 输入 输出 样例输入 5 1 4 2 5 1 4 1 1 2 4 样例输出 2 1 4 数据范围 解法 设f[i][j]表示前 i个蓝色帆船中,选择了第 j个红色帆船作为结尾的最大答案. 那 ...

  8. Python Unittest根据不同测试环境跳过用例详解

    虽然现在用的Katalon,不过这篇Unittest基本的用法讲的还是不错的 转自:https://mp.weixin.qq.com/s/ZcrjOrJ1m-hAj3gXK9TjzQ 本文章会讲述以下 ...

  9. JavaScript--兼容问题总结

    以下兼容主要面向IE8以上的兼容. 一.window.navigator浏览器信息 <script> console.log(window.navigator); // 用户浏览器的类型 ...

  10. VS中,卸载,移除,删除项目的区别

    不说话,上图.