回覆列表
  • 1 # 使用者3371533888363

    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();

  • 中秋節和大豐收的關聯?
  • 動漫《鬥破蒼穹》官微放出第四季九張絕密線索,分別代表什麼物品和劇情?