vue用v-model绑定的input,直接在js里.value赋值无效” 的解决方法

JavaScript017

vue用v-model绑定的input,直接在js里.value赋值无效” 的解决方法,第1张

解决办法:

需要在input.value赋值后,手动触发input事件

样例:<input type="text" id="search_text" v-model="item.Content"/>

("#search_text")[0].dispatchEvent(new Event('input'))//dom元素

JS就这么规定的。主要是因为getElementsByTagName反回的是数组数组有length属性。但是在定义obj时候它并不知道自己是数组类型的(弱类型特点)所以这个时候你直接去obj.length你会发现他的返回值是“未定义”这时候就需要getElementsByTagName去告诉obj“你是个数组!!!”于是返回一个数组特有的属性length给obj.汗。这帮人小看楼主了。to2想到这点的应该不会不知道for(vari=0i<obj.lengthi++){怎么用吧。to1for(variinobj)这个东西应该是遍历obj中的[i],而不是单指属性吧。

1、强制刷新:当你检查问代码逻辑没有问题的时候,你首先可以在赋值之后强制刷新渲染页面一下,这种时候一般都是多层嵌套或者多层遍历导致的,这种方法只能在当前页面内起作用,如果你是给子组件赋值,就不行。

2、重新销毁创建:如果只改变了子组件的数据,但是子组件没有重新渲染,那么可以重新创建一下这个子组件,其实也就是v-if一下。