Tôi vừa mới bắt đầu sử dụng Vue.js và thấy mình liên tục chuyển sang jQuery để trợ giúp trong một số trường hợp nhất định. Gần đây nhất tôi đã cố gắng, không thành công "kích hoạt" (hoặc mô phỏng) một sự kiện, chẳng hạn như một sự kiện nhấp chuột hoặc mờ.Có thể kích hoạt các sự kiện bằng Vue.js không?
Tôi biết trong jQuery bạn có thể làm như sau:
$('#my-selector').trigger('click');
Nhưng cách này có thể đạt được bằng Vue.js? Tôi muốn tránh xa việc sử dụng jQuery càng nhiều càng tốt.
Lấy dưới đây là một ví dụ:
<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>
Nếu tôi đã gọi anotherRandomFunciton, tôi muốn nó bắt chước (hoặc kích hoạt) sự kiện click trên. Tuy nhiên, tôi thử sự kiện này (hoặc e trong ví dụ trên) không bao giờ được chuyển đến hàm.
Vue.js có phương pháp để đạt được điều này không?
Bạn có đồng ý với việc sử dụng javascript thuần túy không? – Luminous
Tôi đoán vậy, nhưng nếu đó là trường hợp tôi cũng có thể chỉ cần sử dụng jQuery. Tôi chỉ mặc dù có thể có một cách tốt hơn để làm điều này bằng cách sử dụng Vue.js –
Bạn đã kiểm tra các phương pháp dụ? Bạn có thể gọi các sự kiện ở đó và nghe các sự kiện theo kiểu jQuery hơn. http://vuejs.org/api/instance-methods.html – Luminous