前言
? ? ? ? 这个问题的出现我归因于对数组循环处理的量太少,当时出错的时候我已经是意识到item存储的是新对象的地址,但是我依旧是想了挺久的才发现了问题所在
引入VUE.2.0的关键代码
let vm = new Vue({
el: '#app',
data: {
falg: false,
students: data.rows,
student: data.rowtemplate,
},
methods: {
addstudent() {
if (this.falg) {
this.falg = false;
this.students.some((item) => {
console.log(item.Id);
if (item.Id == this.student.Id) {
// item = {}; //无用
// console.log(item); //这里的itme 并不是原来的this.students[index]
item.Id = this.student.Id;
item.Name = this.student.Name;
item.Age = this.student.Age;
item.School = this.student.School;
item.Remark = this.student.Remark;
// console.log(item);
return true;
}
});
?当时思考所出现的差错
? ? ? ? 在当时我一直是认为item 是原来的students[index]对应的那个对象但是其实不是,item和students[index]不过是同时指向同一个对象的不同变量;当令item 指向一个新的对象时,students[index]就和item无关了,但这里用到了some()循环,我那是是以为item是全等于students 的
?????????
|