【发布时间】:2017-11-21 14:07:08
【问题描述】:
我在需要使用 jquery 覆盖的 Vue.js 组件中有一个输入。我需要使用 jquery 用电子邮件地址填写输入。当我按下填写电子邮件时,jQuery 将填充电子邮件输入。但是当我使用 V-model 时,它不会更新。有解决办法吗?
这是一个有效的 jsfiddle 示例 https://jsfiddle.net/s3b7f1ah/
这里是 HTML
<button id="push-email">Fill in email</button>
<br><br>
<div id="root">
<label for="name">Name</label>
<input type="text" name="name" id="name" v-model="name">
<label for="name">Email</label>
<input type="text" name="email" id="email" v-model="email">
<br><br>
<button @click="proceed">next</button>
<br><br>
{{ name }} <br>
{{ email }}
</div>
这里是 jQuery
//jQuery
$(function() {
$('#push-email').click(function() {
$('#email').val("john@example.com");
});
});
这里是 vue 组件
//Vue
var app = new Vue({
el: '#root',
data: {
name: '',
email: '',
},
methods: {
proceed: function () {
}
},
});
【问题讨论】:
-
不要同时使用 jQuery 和 vue.js,这是一个非常糟糕的做法。
-
在这种情况下我不能。这是一个更大项目的简化问题。这是一个大型 jquery 项目,它返回填充此输入。
标签: javascript jquery vue.js vuejs2