【发布时间】:2015-11-02 06:27:22
【问题描述】:
我刚开始使用Vue.js 并发现自己在某些情况下不断求助于 jQuery。最近,我尝试“触发”(或模拟)一个事件,例如点击或模糊事件,但未成功。
我知道在 jQuery 中你可以做到以下几点:
$('#my-selector').trigger('click');
但是如何使用 Vue.js 来实现呢?我想尽可能远离使用 jQuery。
以下面为例:
<div id="my-scope">
<button type="button" v-on="click: myClickEvent">Click Me!</button>
</div>
<script>
new Vue({
el: "#my-scope",
data: {
foo: "Hello World"
},
methods: {
myClickEvent: function(e) {
console.log(e.targetVM);
alert(this.foo);
},
anotherRandomFunciton: function() {
this.myClickEvent();
}
}
});
</script>
如果我要调用 anotherRandomFunciton,我希望它模拟(或触发)上述点击事件。但是,我尝试这个事件(或上面示例中的 e)永远不会传递给函数。
Vue.js 有实现此目的的方法吗?
【问题讨论】:
-
你可以使用纯javascript吗?
-
我猜是这样,但如果是这样的话,我还不如只使用 jQuery。我只是虽然使用 Vue.js 可能有更好的方法来做到这一点
-
你检查实例方法了吗?您可以在那里调用事件并以更 jQuery 的方式收听事件。 vuejs.org/api/instance-methods.html
-
您正在尝试模拟点击事件,因此该链接可能也无济于事。
标签: javascript jquery vue.js