大佬教程收集整理的这篇文章主要介绍了Angular——一个等号引发的坑,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正文 |
写这篇博客时我特别赞同一句话——这世间无奇不有,没有见不到的只有想不到的。
这两天在利用集合获取我想要的数据时,因为一个等号让接收到的数据集合发生了意想不到的变化,虽然我找到了界面出错的原因是数据不对,也知道哪块错了,但是我开始的关注点却放错了位,太过好奇却没有试的再多一点想的再全面一点,怎么也没想到一切都是因为一个“=”引起的。
下面小菜就先简单展示一下奇异的数据变化和变化的起因。
◆奇异的数据变化 |
这些也是我在做排课时遇到的问题,当我点击表格进行排课前要先判断一下选择的教室的容量够不够
1.代码
//表格的点击事件:点击表格排课之前先判断容量是否足够大
td_click(id: any) {
//在console中输出roomOptions集合
console.log("-------------------------测试roomOptions-----------------");
console.log(this.roomOptions);
//从教室集合roomOptions找到下拉框选择的这个教室对应的一整条数据
let roomdata = this.roomOptions.find(x => x.id = this.roomId);
//在console中输出找到的那条数据
console.log("-------------------------测试roomdata-----------------");
console.log(roomdata);
//用获取到的这条数据中的容量与现在需要的容量进行比较
if (roomdata.roomCapacity < this.arrangecourse.teachclassEntity.capacity) {
this.showDialog("教室容量不足,建议选择其他教室");
return;
}
}
2.选择教室下来框中的第一个教室
◇点击表格时获取到的数据集合(一切正常)
◇根据第一个教室的id(FrVnuqiYCYb6gayrK51C7d)find到的数据(一切正常)
3.选择下拉框中第二个教室
◇再次点击表格时获取到的数据集合(异常:l两条数据的id变成了第二个教室的id(Ud7vPUjSsnAsQkE2mUEXd7)但两条数据的其他字段都没变)
◇根据第二个教室的id(Ud7vPUjSsnAsQkE2mUEXd7)find到的数据(异常:找到的是第一个教室对应的数据))
◆数据变化的原因 |
我使用集合的find时用错了等号,我需要的是比较(==)可我却用的是赋值(=)
//表格的点击事件:点击表格排课之前先判断容量是否足够大
td_click(id: any) {
//在console中输出roomOptions集合
console.log("-------------------------测试roomOptions-----------------");
console.log(this.roomOptions);
//从教室集合roomOptions找到下拉框选择的这个教室对应的一整条数据
let roomdata = this.roomOptions.find(x => x.id == this.roomId);
//在console中输出找到的那条数据
console.log("-------------------------测试roomdata-----------------");
console.log(roomdata);
//用获取到的这条数据中的容量与现在需要的容量进行比较
if (roomdata.roomCapacity < this.arrangecourse.teachclassEntity.capacity) {
this.showDialog("教室容量不足,建议选择其他教室");
return;
}
}
◆JavaScript中的等号 |
小结 |
嘿嘿,刚开始对小菜来说奇异的变化现在已经说完了,所以以后要多注意细节哦,出现问题一定要静下心来找到出现问题的原因,然后考虑问题要全面一些!
以上是大佬教程为你收集整理的Angular——一个等号引发的坑全部内容,希望文章能够帮你解决Angular——一个等号引发的坑所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。