【发布时间】:2018-04-07 21:21:21
【问题描述】:
HTML:
<div id="testVue">
<input id="test" v-model="testModel"/>
<button @click="clickMe()">Click me</button>
<button @click="showValue()">Show value</button>
</div>
Javascript
var testVue = new Vue({
el: '#testVue',
data: {
testModel: 'Hello Vue!'
},
methods: {
clickMe: function() {
$("#test").val("testing");
console.log(this.testModel);
},
showValue: function() {
console.log(this.testModel);
}
}
});
我完全明白我不应该在 Vuejs $("#test").val("testing"); 中这样做,我应该像 this.testModel="testing"; 那样做
但我不明白为什么这个基本绑定在 Vuejs 中不起作用?我有相当多的 HTML 组件通过 jquery 更新输入框,例如日历、自动完成和 Select2,都将通过非 vuejs 方式更新输入框。
有什么简单的方法来解决这个问题?
【问题讨论】:
-
我不知道 VueJS,但我觉得它有点像 Angular?如果是这样的话,jQuery 就没有生意了。它只是干扰了 Vue。只需删除 jQuery 并以 Vue 的方式做事。
-
我认为你的小提琴正在工作......我刚改成
this.testModel= 'testing'; -
@SantoshKumar,我知道,但是我的 v-model 是由其他 3rd 方组件通过 jquery 更新的。我不能改变那些来做到这一点
this.testModel='testing';
标签: javascript jquery html vue.js vuejs2