详解angularjs跨页面传参遇到的一些问题


Posted in Javascript onNovember 01, 2018

上周写课程选择时间功能时需要将课程ID,星期,节次等参数传递给下一个页面,就查了查angularjs的ui-router跨页面传参,一开始是这样写的:

在app.js下添加 params:{'args':{}}

详解angularjs跨页面传参遇到的一些问题

然后在起始页面的控制器中使用transtionTo或者go方法传递参数

详解angularjs跨页面传参遇到的一些问题

最后在目标页面的控制器使用$stateParams接收参数,如下图,可知我需要传输的参数都传了过来

详解angularjs跨页面传参遇到的一些问题

这样传参的好处就是方便灵活,但有一个不好的地方就是每次刷新完以后传递过来的参数都会丢失,是所以我最后放弃了这种写法,改成了传统的url传参,如下图:

详解angularjs跨页面传参遇到的一些问题

这样一来就每次刷新就不会丢失数据了,因为参数都存到了路径当中,但接下来就发生了一个比较诡异的事情:
我明明已经给$scope.week赋了值,而且控制台确实打印了出来,而我再打印一次$scope时却发现$scope.week根本没有被赋值,如下图:

详解angularjs跨页面传参遇到的一些问题

我觉得这不是我能力范围之内能解决的问题了,便请求了张喜硕学长,学长试了各种方法,最后无奈将我控制器里所有其他的代码都注释掉,只保留上述代码,依然无法解决,最后查看v层排错,才找到了万恶之源,原来是我用了ng-value,只要将ng-value改成value,问题就正常解决了。

详解angularjs跨页面传参遇到的一些问题

总结

通过这次遇到的问题反映出我解决问题的能力还是不够,一旦遇到非常奇怪的bug就手足无措,不知道该怎么排查错误。再不济也可以把我改动过的代码注释一半留一半,总是能找到问题的源头的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
Mar 02 Javascript
vue自定义指令实现v-tap插件
Nov 03 Javascript
原生JS实现幻灯片
Feb 22 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
Jun 17 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 Javascript
vue实现放大镜效果
Sep 17 Javascript
Vue.js 事件修饰符的使用教程
Nov 01 #Javascript
微信小程序实现蒙版弹窗效果
Nov 01 #Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 #Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
Oct 31 #Javascript
微信小程序实现留言板
Oct 31 #Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 #Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 #Javascript
You might like
谈谈新手如何学习PHP
2006/12/14 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
angular2使用简单介绍
2016/03/01 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
Python实现控制台输入密码的方法
2015/05/29 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
Python基础教程之异常详解
2019/01/10 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
使用python去除图片白色像素的实例
2019/12/12 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
Windows和Linux动态库应用异同
2016/04/17 面试题
保安队长职务说明书
2014/02/23 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
新教师个人工作总结
2015/02/06 职场文书
实习指导老师意见
2015/06/04 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
分析Netty直接内存原理及应用
2021/06/14 Java/Android
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript