vue怎么在methods当中调用外面定义的的函数

methods:{loadTop(){this.loadPageList();this.$refs.loadmore.onTopLoaded();},loadBottom... methods:{
loadTop() {
this.loadPageList();
this.$refs.loadmore.onTopLoaded();
},
loadBottom() {
this.more(); // 上拉触发的分页查询
this.allLoaded = true; // 若数据已全部获取完毕
this.$refs.loadmore.onBottomLoaded();
},
moCount: function() {
this.tabs = true;
this.oneTab = false;
},
oneCount: function() {
this.tabs = false;
this.oneTab = true;
}
},
loadPageList:function() {
alert(123);
},
展开
 我来答
光又阿51
2018-01-30 · 超过17用户采纳过TA的回答
知道答主
回答量:28
采纳率:100%
帮助的人:3.8万
展开全部

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式