angular.js - angularjs url 传一个对象
问题描述
以前传参数都是多个的key:value的形式。现在的需求是将整个对象传过去,像下面这样然后我的写法是
/*前往订单详情页面*/$scope.goOrderDetails=function(){//counArr就是图片里的对象 $state.go(’ticket.pay’,{countArr:countArr})}
在接收页面
var countArr=$stateParams.countArr;console.log(countArr);console.log(countArr.length);
结果不对了,console.log(countArr)的结果是[object object],url也变成了127.0.0.1:9002/ticket/pay/%5Bobject%20Object%5D我想知道是哪里的问题,之前没遇到过传一个对象的需求
问题解答
回答1:要这样传的话,得
$state.go(’ticket.pay’,{countArr: JSON.stringify(countArr)})
取的时候
var countArr = JSON.parse($stateParams.countArr)
直接传对象的话,建议用浏览器存储来传,参考这个
回答2:是不是要先转成json呢,
回答3:路由中设置 params.state(’urlname’,{
url:’urlname’,templateUrl:...,controller:...,params:{testObj:''}
})
这样页面中取出来的的testObj还是对象的,直接用你需要的属性就好了
补充...这个params里当然也可以是testObj:{}
相关文章:
1. 如何判断数组写入数据库有重复的值2. debian - docker依赖的aufs-tools源码哪里可以找到啊?3. docker gitlab 如何git clone?4. docker绑定了nginx端口 外部访问不到5. dockerfile - [docker build image失败- npm install]6. dockerfile - docker-compose 挂载数据卷却没有数据7. Java, byte 前面有0和没有0的区别8. html - angularJS中switch切换开关按钮不能操作9. html5 - 两个宽高一样的盒子重叠后旋转一定角度,为什么会看到下面的盒子10. angular.js - angular2 有什么cool的loading组件么?