P粉8484421852023-09-05 00:31:53
兩者都可以為您提供一些共享的函數和變數。但我不知道如何在 Vue 中定義新的鉤子,例如 create() 。我必須自己在created() 中啟動你的函數。當然,您可以使用 Mixins 覆蓋現有的 Vue hooks。
Mixin 非常方便,但不再推薦
Composition API 中沒有 created()
,所以你必須使用onBeforeMount()
或onMounted()
#這是一個使用這兩種技術的非常基本的範例
const { createApp, ref, onBeforeMount } = Vue; const myMixin = { created() { console.log('myMixin: created()') } } const myComposable = () => { onBeforeMount(() => { console.log('myComposable: onBeforeMount()') }) const myFunction = () => console.log('myFunction()') return { myFunction } } const App = { setup() { const { myFunction } = myComposable() return { myFunction } }, mixins: [myMixin] } const app = createApp(App) app.mount('#app')
<div id="app"> <button @click="myFunction()">myFunction()</button> </div> <script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>