详细说明angularjs跨页传输中遇到的一些问题
上周,在编写课程选择时间函数时,有必要将课程标识、周和课时等参数传递到下一页。我查了angularjs中ui-router的跨页引用,开头写的是:
在app.js下添加params:{'args':{}}
然后使用transtionTo或go方法在起始页的控制器中传输参数
最后,目标页面的控制器使用$stateParams来接收参数。如下图所示,可以看到我需要传输的所有参数都已经传输完了
这样传递参数的好处是方便灵活,但是有一个不好的地方就是每次刷新后传递的参数都会丢失,所以我最终放弃了这种写法,改成了传统的url传递参数,如下图:
这样,每次刷新时数据都不会丢失,因为参数都存储在路径中,但是后来发生了一件奇怪的事情:我明明给$scope.week分配了一个值,控制台确实打印出来了,但是当我再次打印$scope时,发现$scope.week根本没有分配,如下图所示:
我觉得这不是我力所能及能解决的问题,就问了张希硕学长,他尝试了各种方法。最后,我别无选择,只能在我的控制器中注释掉所有其他代码,只保留了上面的代码,仍然无法解决。最后,我通过查看V层故障排除找到了万恶之源。原来我用的是ng-value,只要把ng-value改成value,问题就正常解决了。
摘要
这次遇到的问题反映出我解决问题的能力还是不足。有一次遇到很奇怪的bug,不知所措,不知道怎么排查错误。我改过的代码注释,你最多可以留一半,总能找到问题的根源。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:详细说明angularjs跨页传输中遇到的一些问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。