Vue.js,合成API,“;“混合”;生命周期挂钩
我一直在四处寻找(但我找不到)以下问题的答案 在Vue 2.x中,可以将mixins用于生命周期挂钩,例如:我可以使用Vue.js,合成API,“;“混合”;生命周期挂钩,vue.js,hook,mixins,vuejs3,vue-composition-api,Vue.js,Hook,Mixins,Vuejs3,Vue Composition Api,我一直在四处寻找(但我找不到)以下问题的答案 在Vue 2.x中,可以将mixins用于生命周期挂钩,例如:我可以使用 export default { created() { console.log('test'); } } 然后,在组件中,执行以下操作: import mixins from "../misc/mixins"; export default { name: "My component", mixins: [m
export default {
created() {
console.log('test');
}
}
然后,在组件中,执行以下操作:
import mixins from "../misc/mixins";
export default {
name: "My component",
mixins: [mixins],
created() {
console.log('Another test');
}
}
如果我运行“我的组件”,我将同时进入控制台的“另一个测试”和“测试”。我找不到与CompositionAPI类似的方法(当然,我可以在从另一个文件导入的“onMounted”函数中执行,但这并不优雅)
有办法吗
谢谢 使用合成API,您必须导入所需的生命周期。带列表的文档: 组件.vue 现在只需导入它并执行 组件.vue 然后
import { useDemoLifecycles } from './demoLifecycles'
此外,如果您希望从该文件中获取引用或其他数据,则
const { a, b } = useDemoLifecycles()
请注意,实际上在我的示例中,Vue的“魔力”并不多,就像Mixin一样。这几乎是纯JS的东西,而不是特定于Vue的代码。因此,它实际上比旧的选项API+混合更简单。非常感谢!伟大而详细的回答!
<script>
import useDemoLifecycles from './demoLifecycles.js'
export default {
setup(props) {
useDemoLifecycles()
return {};
},
}
</script>
<script setup>
import useDemoLifecycles from './demoLifecycles.js'
useDemoLifecycles()
</script>
export const useDemoLifecycles = () => { console.log('code here') }
import { useDemoLifecycles } from './demoLifecycles'
const { a, b } = useDemoLifecycles()