【Angular2】开发中的小问题
来源:互联网 发布:fliqlo mac 编辑:程序博客网 时间:2024/06/16 09:15
前言
在Angular2开发的过程中遇到一些问题,现记录一下,避免重复同样的错误
ngOnChanges截听输入属性值的变化问题
在组件交互中,使用了ngOnchanges来监听传输到组件数据的微小变化
官网中使用的是两个变量,他们的变化可以很好监听出来,而我传输的是一个实体,每次改变的是实体里面的属性值
但是第一次能监听到,后来就不行,换一个可以监听,在换回之前又可以监听了,在点击就又不可以了
后来分析了一下,不会监听对象的属性,而是在监听对象,只要对象不改变,就不会触发事件
所以解决方案就是在方法体内声明对象,这样每次生成的都是新的对象
//用户的答案(在方法内声明,每次提交为新答案实体,simplechange才会识别) let answer: Answer = new Answer;
CheckBox获取用户选项问题
需要获取用户的多项选择,并及时更新,在这里,对于多项选择的遍历获取答案需要记录一下
private options: Array<string> = [];//用户的答案选项(在方法外声明,否则本题刚选择答案会消失)
updateAnswer(el: Element, checked: boolean, value: string) { //获得用户的答案 var index: number = this.options.indexOf(value); if (checked) { if (index < 0) { this.options.push(value); } } else { if (index > -1) { this.options = this.options.filter((ele, index) => { return ele != value; }) } }}
获得id后,无法根据此id获取相应的元素
从另一个组件传回一个id,需要根据这个id修改本组件内一个元素样式,达到联动效果。通过console控制台看到id确实返回且正确,但根据id就是找不到元素,例如:“121”
问题就是因为,返回实体后通过json转化,字符串前后加了引号,不是“121”,而是121
解决很简单,就是去掉引号
(这个错误有点类似有个程序员把名字叫做“null”这个字符串,联调的程序员就崩溃了,明明感觉没问题,怎么一直返回是null呢;刚开始一直以为引号是控制台加的用来方便看的)
let changedId = str.substring(1, str.length - 1);//去除首尾引号
小结
点滴积累,遇到问题,仔细分析
阅读全文
0 0
- 【Angular2】开发中的小问题
- 关于angular2路由中的单页面开发问题
- Android开发中的小问题
- Python开发中的小问题
- Android开发中的小问题。
- 小程序开发中的问题
- Angular2 开发环境的搭建和@angular/cli(angular-cli)安装中的一些问题。
- angular开发:angular2的基础问题
- 三层开发中的一个小问题
- form 开发中的小问题汇总
- .net开发中的几个小问题
- 51单片机开发中的小问题
- android开发中的小问题,求解答~!
- android开发中的小问题汇总
- iOS开发中的小问题,不断更新
- Mongo-java开发中的小问题
- web开发过程中的小问题
- 记录开发过程中的一些小问题
- 数学相关知识
- js中数组常用的API
- STL中vector和list的使用
- java解析XML——dom4j解析
- 排序算法——冒泡排序(Java&Python)
- 【Angular2】开发中的小问题
- 知识也许是先人留给后辈最大的财富
- linux内核和用户通信
- 49. Group Anagrams
- 2017年8月Science肠道菌群研究
- 大幅度修改TDK后该怎么办?
- linux下UART的应用层编程及测试小程序
- linux内核调度算法(3)--多核系统的负载均衡
- Fiddler