[英]How can I call a method defined in one CoffeeScript mixin from another mixin on the same object?
[英]How do I call a mixin function from another component?
MyMixin.vue
有方法beginEdit
。
我要做的是让onFirstLineClick
根据this.folded
beginEdit
当我在控制台登录myMixin.beginEdit
时,它是undefined
的,毫不奇怪myMixin.beginEdit()
不起作用。
我是否缺少使用 function 所需的东西? 如果是这样,为什么beginEdit
在<span>
上完美运行?
<template>
<div>
<div>
<div
@click="onFirstLineClick"
/>
<span
@click="beginEdit"
/>
</div>
</template>
<script>
import myMixin from './MyMixin';
export default {
name: 'currComponent',
mixins: [myMixin],
data() {
return {
folded: false,
};
},
methods: {
onFirstLineClick(e) {
// myMixin.beginEdit() doesn't work
}
},
};
</script>
mixin
的伟大之处在于,当组件使用 mixin 时,mixin 中的所有选项都会“混合”到组件自己的选项中。 这意味着在您的组件内部,您可以直接调用mixin
方法,例如:
methods: {
onFirstLineClick(e) {
this.beginEdit()
}
},
这也是您可以直接在<span>
上使用beginEdit()
方法的原因,例如:
<span @click="beginEdit" />
另请注意,将来如果您在此组件中声明一个与mixin
方法名称beginEdit
的方法,则该组件的方法将优先,您可能会看到不同的行为。 因此,请确保为mixin
方法提供唯一的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.