vue中如何在外部调用methods的方法
1.首先定义一个公共的vue组件;
3.最后在父组件中,注意负组件要用一个变量保存,var vm = new Vue({}); 4.在父组件中的methods的方法中定义一个方法,在方法里用$emit接收公共组件里的方法;
5.最后就可以在vue组件外部,或者文件外部调用getCardNum(data)这个函数,比如在html中就可以 onclick = vm.getCardNum() 这样来调用;vm是父组件 6.注意一定要把父组件的变量名写上 vm.getCardNum();
我用vue开发的过程中,遇到java后台的弹窗页面想要调用我vue组件中的方法,可是后台的弹窗页面并没有在我的vue组件中,其他的页面想要调用的vue中的方法,只能在父组件中调用,于是研究了很久,最后确定,将组件中的function()方法传递到最上一层的父组件中,将负组件保存在变量中,最后直接在其他页面中调用方法,调用的时候,就不能用@click方法来调用了,因为后台的页面并不在我的vue组件内部,于是调用就是onclick = vm.getCardNum();这样调用,vm是父组件;
欢迎关注我的个人技术公众号!javascript艺术
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();
我用vue开发的过程中,遇到java后台的弹窗页面想要调用我vue组件中的方法,可是后台的弹窗页面并没有在我的vue组件中,其他的页面想要调用的vue中的方法,只能在父组件中调用,于是研究了很久,最后确定,将组件中的function()方法传递到最上一层的父组件中,将负组件保存在变量中,最后直接在其他页面中调用方法,调用的时候,就不能用@click方法来调用了,因为后台的页面并不在我的vue组件内部,于是调用就是onclick = vm.getCardNum();这样调用,vm是父组件;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Vue js 的生命周期(看了就懂)
- 下一篇: [c++ 温故知新]类内char* 指针内存分配长度