为了账号安全,请及时绑定邮箱和手机立即绑定

vue中data数据无法同步到视图的问题?谢谢哈~

vue中data数据无法同步到视图的问题?谢谢哈~

一只名叫tom的猫 2019-08-17 10:55:41
我预实现的效果是:根据pushData数据自动创建表单并根据每个表单的不同绑定不同的方法,比如手机表单可以做到验证号码,姓名表单可以验证姓名规则等等目前遇到一个问题,就是在手机表单中通过输入触发iserr属性,无法同步到视图显示请问这是什么原因导致的呢?我的的代码如下:exportdefault{data(){return{pushArray:[],pushData:{//表单中涉及的数据user:{name:'姓名',type:'text'},phone:{name:'手机',type:'text'},company:{name:'公司',type:'text'}}}},created(){//在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图letthat=thisfor(letiteminthis.pushData){//数据筛选letdataType=that.pushData[item]dataType.iserr=falseswitch(dataType.type){case'text'://typeText(dataType,dataName)dataType.fun=function(e){dataType.val=e.target.value//问题:通过输入出发iserr改变,并控制input的class显示,但是无法同步到视图dataType.iserr=true//that.$set(that.pushData[item],'iserr',true)}break}}}}
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

初始化iserr为false的时候使用this.$set(this.pushData[item],'iserr',false)触发的时候有也要this.$set(this.pushData[item],'iserr',true)
                            
查看完整回答
反对 回复 2019-08-17
?
千巷猫影

TA贡献1829条经验 获得超7个赞

created(){
letthat=this;
for(letiteminthis.pushData){
this.$set(that.pushData[item],"iserr",false);
switch(that.pushData[item].type){
case"text":
that.pushData[item].fun=function(e){
that.pushData[item].val=e.target.value;
that.$set(that.pushData[item],"iserr",true);
};
break;
}
}
}
                            
查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 314 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信