在线等,挺急的!表单改变,计算属性在与之前计算值相等时,表单没有发生改变?

表单中奇数次按下字母,总会多一个字符串
ABOUTYOU
浏览 310回答 2
2回答

不负相思意

原因是数据发生改变视图才会重新渲染当你输入值value值发生变化然后被你替换还是原来是值也就是说myInt拿到的值没有发生变化所以视图没有重新渲染文本框值也就不会变化computed这边用也是不合适如果你想input输入受控可以使用input||change事件text:{{text}}myInt:{{text}}请在下表单中继续输入字符串测试exportdefault{name:"test",data(){return{text:123456};},methods:{change(e){this.text=this.text.toString().replace(/[^\d]/g,'')}},};

拉丁的传说

cache已经从vue2.0中移除计算属性是依赖data中的属性进行监听的,也就是说,你这里用到的v-modal是基于text进行驱动的当UI的值(也就是这里的input)发生变化的时候,实际的流程是下面这样(1)用户输入-->(2)inputdom的值发生修改-->(3)触发事件监听-->(4)computed中的set执行-->(5)vue对比缓存-->(61)如果发生变化触发get,更新dom-->(62)如果没有发生变化,不触发get,dom不变
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript