Javascript 如何重用方法:在主对象中定义并从VueJS中的所有组件调用
我将父子组件用于VUEJ。我目前必须为多个组件分别定义一个方法 但是,我只想在一个地方定义它,并在多个地方使用它 我的父模板是Javascript 如何重用方法:在主对象中定义并从VueJS中的所有组件调用,javascript,vue-component,vue.js,vuejs2,Javascript,Vue Component,Vue.js,Vuejs2,我将父子组件用于VUEJ。我目前必须为多个组件分别定义一个方法 但是,我只想在一个地方定义它,并在多个地方使用它 我的父模板是 <campaign_segment :a=add(1,2)> </campaign_segment> 在这里,我应该将方法“add()”定义到我的主vuejs对象中 否则,我会收到错误消息“未定义添加方法” 对于单个声明和来自组件的触发器,是否有任何解决方案 这是如何实现的,或者其他解决方案是如何实现的?您正在寻找的功能在vue JS中调用 m
<campaign_segment :a=add(1,2)> </campaign_segment>
在这里,我应该将方法“add()”定义到我的主vuejs对象中
否则,我会收到错误消息“未定义添加方法”
对于单个声明和来自组件的触发器,是否有任何解决方案
这是如何实现的,或者其他解决方案是如何实现的?您正在寻找的功能在vue JS中调用 mixin是为Vue组件分发可重用功能的一种灵活方式。mixin对象可以包含任何组件选项。当组件使用mixin时,mixin中的所有选项都将“混合”到组件自己的选项中 因此,您可以在mixin中添加一个方法,它将在mixin将被混合的所有组件中可用。请参见以下示例:
// define a mixin object
var myMixin = {
methods: {
add: function(a,b){
return parseInt(a) + parseInt(b);
}
}
}
// define a component that uses this mixin
var Component = Vue.extend({
mixins: [myMixin]
})
// alternate way to have a mixin while initialising
new Vue({
mixins: [myMixin],
created: function () {
console.log('other code')
}
})
Vue.component(
'campaign_segment', {
template: '#segment_body',
props: ['a'],
methods:{
add: function(a,b){
return parseInt(a) + parseInt(b);
}
}
});
// define a mixin object
var myMixin = {
methods: {
add: function(a,b){
return parseInt(a) + parseInt(b);
}
}
}
// define a component that uses this mixin
var Component = Vue.extend({
mixins: [myMixin]
})
// alternate way to have a mixin while initialising
new Vue({
mixins: [myMixin],
created: function () {
console.log('other code')
}
})