• angularjs ui-router传值


    首先我们了解一下ui-router.

    ui-router引入状态机制,将路由抽象概括成一个个的状态。其中状态里包含多种属性 state,url,params等多种内容。

    state:当前路由所处的状态

    url:当前路由对应的url正则路径

    params:传递的参数

    当然了还有views,templates,abstract等属性,但由于和传参无关,因此不再介绍。

    在ui-router中,state可以映射对应url,同样的url也可以映射到state。我们考虑的无非是使用

    url或者state传值。

    $stateProvider
    .state('home',{
        url:'/home',
        params: ''
         } 
    )                            

    如上所示案例,当前state是home,url地址是/home。

    1、url传值

     url:'/home/:userID',
     url:'/home/{userID}'

    常见方法有:param或者{param}两种方式。如当我们设置url  ‘/home/235’时,可以获取userID=235的参数信息。

    2、state传值

    ui-sref='home({userID:235})'
    $state.go('home',{userID:235})

    常见的state传值的有以上两种,也可以归为一种,只是表面形式看起来不同而已。

    url传值,state传值 个人感觉最大的区别时在于跳转的情境中。

    如a页面将参数A传递到b页面,state传值想要正常打开b页面,只能从a页面进入,或者说从a页面的状态进入,否则便获取不到A参数。然而url传值则可以 不经过A页面直接获取到参数A。

    3、params传参

    我们也可以直接定义params里的参数列表

    params:{
        userID:XXX                
    }

    但是此种传参的方法局限性比较大,适合需要设置初始化值的参数,后续可以在controller中修改参数的取值。

     
  • 相关阅读:
    activeMQ
    @Autowired与@Resource的区别
    maven工程下get的URI中带中文名称乱码解决
    linux下安装jdk
    Redis集群之Jedis的使用
    格式化Json数据
    拷贝chrome控制台打印的对象
    为什么有的代码容易理解,有的难
    ant design pro总是跨域,proxy也没设置错误,原来是浏览器缓存,清理Chrome缓存就可以了
    VScode:保存格式化问题,ESLint插件和编辑器本身冲突
  • 原文地址:https://www.cnblogs.com/perallina/p/6549965.html
Copyright © 2020-2023  润新知