2017-09-25 76 views
1

下面是一个例子:如何访问函数内从组件生命周期方法混入的方法Vue.js

mixin.js

export default { 
    methods : { 
     aFunction() { // Some functionality here } 
    } 
} 

component.vue

import mixin from './mixin' 
export default { 
    mixins : [ mixin ] 
    created() { 
     // Call aFunction defined in the mixin here 
    } 
} 

我想通过组件内部的created()生命周期方法访问mixin内部定义的aFunction。

回答

5

的混入方法被合并与组件的当前实例,所以这纯粹是:

created(){ 
    this.aFunction() 
} 

下面是一个例子。

console.clear() 
 

 
const mixin = { 
 
    methods:{ 
 
    aFunction(){ 
 
     console.log("called aFunction") 
 
    } 
 
    } 
 
} 
 

 
new Vue({ 
 
    mixins:[mixin], 
 
    created(){ 
 
    this.aFunction() 
 
    } 
 
})
<script src="https://unpkg.com/[email protected]"></script>

+0

出于某种原因,该函数被调用的3倍? –

+0

@ gaurav4sarma在哪里?这里叫它一次。在你的代码中,如果这个组件被创建了多次。 – Bert

+0

是的,可能就是这样。如何构造它的流程只能被调用一次我的意思是有一种方法可以使它只调用一次,因为它调用一个API来获取数据 –

相关问题