Vue.js重写Mounted()方法

时间:2019-01-28 09:37:47

标签: vue.js

所以我以这种方式扩展了我的组件:

<template>
<qlist></qlist>
</template>

<script>
import QuestionList from '@/components/pages/questions/QuestionList'

export default {
  extends: QuestionList,
  components: {
    'qlist': QuestionList
  }
}
</script>

<style scoped>
</style>

如何从我的QuestionList组件中完全覆盖mount()方法?我注意到,当我在当前组件中定义它时,我可以将功能添加到Mounted()方法中,但是我无法覆盖以前的行为

1 个答案:

答案 0 :(得分:2)

您的组件将导入QuestionList以将其作为ELEMENT包含在模板中,因此无论您在QuestionList的Mounted()挂钩中拥有什么,都将被调用,您无法避免这样做。改用mixin:将所有逻辑放在原始组件和扩展它的组件中,并在每个组件中分别实现Mounted()。通过将Mounted()挂钩逻辑移至某个方法,您甚至可以按如下所述使用自定义合并选项:https://vuejs.org/v2/guide/mixins.html,但这可能不是必需的。