http://blog.csdn.net/xiaoye319/article/details/78416762
同上文,我用splice函数,向数组中添加实体时,在for循环中总是被最后一个覆盖
原来的写法
dataUserEntity={title:'',email:''};
for (var i = 0; i < vm.dataUser.length; i++) {
if (vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email == '') {
vm.dataUser[i].checked=false;
this.$Modal.warning({
title: '警告',
content: "未检测到" + vm.dataUser[i].title + "的邮箱号,不可发送邮件",
});
return;
}else if(vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email != '')
{
dataUserEntity.title=vm.dataUser[i].title;
dataUserEntity.email=vm.dataUser[i].userEntity.Email;
vm.dataUser1.splice(vm.dataUser1.length, 0, dataUserEntity);
// vm.dataUser1.push( vm.dataUserEntity);
}
}
后改为:
for (var i = 0; i < vm.dataUser.length; i++) {
if (vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email == '') {
vm.dataUser[i].checked=false;
this.$Modal.warning({
title: '警告',
content: "未检测到" + vm.dataUser[i].title + "的邮箱号,不可发送邮件",
});
return;
}else if(vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email != '')
{
var dataUserEntity={title:'',email:''};
dataUserEntity.title=vm.dataUser[i].title;
dataUserEntity.email=vm.dataUser[i].userEntity.Email;
vm.dataUser1.splice(vm.dataUser1.length, 0, dataUserEntity);
// vm.dataUser1.push( vm.dataUserEntity);
}
}
dataUserEntity={title:'',email:''} 定义为全局时,添加的实体实际上是一个实体,第二次赋值会覆盖第一个,第三个覆盖第二个,类推,结果是循环n次,则数组添加n次最后一个实体。
解决办法就是在循环中定义实体