1.首先定義一個公共的vue元件;
[html] view plain copy
var eventHub = new Vue();
2.在事件當前的元件中,在created中,用$on向公共的元件eventHub傳遞,translate是自定義的,getCardNum(data)是要在外部呼叫的方法;
eventHub.$on("translate", function (data) {
that.getCardNum(data);
});
3.最後在父元件中,注意負元件要用一個變數儲存,var vm = new Vue({});
4.在父元件中的methods的方法中定義一個方法,在方法裡用$emit接收公共元件裡的方法;
var vm = new Vue({
el: "#example",
data: {
msg: "Hello Directive",
data: {}
},
methods: {
getCardNum: function (data, on) {
eventHub.$emit("translate", data);
}
5.最後就可以在vue元件外部,或者檔案外部呼叫getCardNum(data)這個函式,比如在html中就可以 onclick = vm.getCardNum() 這樣來呼叫;vm是父元件
6.注意一定要把父元件的變數名寫上 vm.getCardNum();
1.首先定義一個公共的vue元件;
[html] view plain copy
var eventHub = new Vue();
2.在事件當前的元件中,在created中,用$on向公共的元件eventHub傳遞,translate是自定義的,getCardNum(data)是要在外部呼叫的方法;
[html] view plain copy
eventHub.$on("translate", function (data) {
that.getCardNum(data);
});
3.最後在父元件中,注意負元件要用一個變數儲存,var vm = new Vue({});
4.在父元件中的methods的方法中定義一個方法,在方法裡用$emit接收公共元件裡的方法;
[html] view plain copy
var vm = new Vue({
el: "#example",
data: {
msg: "Hello Directive",
data: {}
},
methods: {
getCardNum: function (data, on) {
eventHub.$emit("translate", data);
}
}
});
5.最後就可以在vue元件外部,或者檔案外部呼叫getCardNum(data)這個函式,比如在html中就可以 onclick = vm.getCardNum() 這樣來呼叫;vm是父元件
6.注意一定要把父元件的變數名寫上 vm.getCardNum();