vue怎么在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);
}, 展开
1.首先定义一个公共的vue组件;
[html] view plain copy
var eventHub = new Vue();
eventHub.$on('translate', function (data) {
that.getCardNum(data);
});
var vm = new Vue({
el: '#example',
data: {
msg: 'Hello Directive',
data: {}
},
methods: {
getCardNum: function (data, on) {
eventHub.$emit('translate', data);
}
}
});
2.在事件当前的组件中,在created中,用$on向公共的组件eventHub传递,translate是自定义的,getCardNum(data)是要在外部调用的方法;
[html] view plain copy
3.最后在父组件中,注意负组件要用一个变量保存,var vm = new Vue({});
4.在父组件中的methods的方法中定义一个方法,在方法里用$emit接收公共组件里的方法;
[html] view plain copy
5.最后就可以在vue组件外部,或者文件外部调用getCardNum(data)这个函数,比如在html中就可以 onclick = vm.getCardNum() 这样来调用;vm是父组件
6.注意一定要把父组件的变量名写上 vm.getCardNum();