详解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 相关文章推荐
js 动态加载事件的几种方法总结
Dec 25 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
jQuery基本选择器之标签名选择器
Sep 03 Javascript
如何实现星星评价(jquery.raty.js插件)
Dec 21 Javascript
bootstrap PrintThis打印插件使用详解
Feb 20 Javascript
JS实现的JSON数组去重算法示例
Apr 11 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
Sep 27 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
vue编写简单的购物车功能
Jan 08 Vue.js
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
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php精度计算的问题解析
2019/06/21 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
Python+django实现文件下载
2016/01/17 Python
深入理解python对json的操作总结
2017/01/05 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
大学生旅游业创业计划书
2014/01/29 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
新闻发布会主持词
2014/03/28 职场文书
国庆宣传标语
2014/06/30 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书