我是 vue 的新手,但因為我是新人,所以我決定直接使用 TS 和 Setup 標簽,因為這似乎是撰寫 vue js 組件的最新和最好的方法。
無論如何,我現在正在研究這個框架,更具體地說,我正在研究這個例子:
import { IonPage, onIonViewWillEnter, onIonViewDidEnter, onIonViewWillLeave, onIonViewDidLeave } from '@ionic/vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'Home',
components: {
IonPage,
},
setup() {
onIonViewDidEnter(() => {
console.log('Home page did enter');
});
... the other hooks ...
},
});
我的問題來自這個街區:
name: 'Home',
components: {
IonPage,
},
因為我只使用選項 api 和設定標簽,所以我不確定將物件放入組件物件中意味著什么,以及如何使用設定標簽實作相同的目標。
我的目標是確保我正在做指南中的此注釋警告我的事情:
注意您的應用程式中的頁面需要使用 IonPage 組件才能正確觸發生命周期方法和掛鉤。
uj5u.com熱心網友回復:
在<script setup>語法上,Home.vue看起來像這樣:
<script setup lang="ts">
import { IonPage, onIonViewDidEnter, ...other hooks used here... } from '@ionic/vue';
onIonViewDidEnter(() => {
console.log('Home page did enter');
});
...other hooks used here...
</script>
您參考的注釋提請注意需要包裝在<ion-page></ion-page>包裝器中的任何頁面/視圖內容的模板,以便布局按預期運行,就像在他們的示例中一樣。
通用示例:
<template>
<ion-page>
<ion-header>
<ion-toolbar>
<ion-title>Some title</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
some content...
</ion-content>
</ion-page>
</template>
對于上述布局,您需要匯入所有使用的組件:
import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/vue'
<script setup>您無需將它們宣告為本地組件、檢測<script setup>它們并在幕后為您執行此操作。它們可以在<template>一次匯入的內部使用。
組件name也是<script setup>從檔案名推斷出來的。在上述情況下,它將是Home。
總結一下:在幕后,<script setup>獲取其內容并將其包裝在一個
export default defineComponent({
name: // infer from file name,
components: {
// list all imported vue components
},
setup() {
// actual contents of `<script setup>`
}
})
為此,添加了一些幫助程式 ( defineEmits, defineProps),它們允許在函式內宣告選項 API 的那些部分setup()。
最值得注意的是,在這種語法中setup()不再需要一個return值。在其中宣告或匯入的所有變數都可用于<template>.
重要:<script setup>是一個有用的工具,旨在在大多數情況下減少樣板,而不是defineComponent()完全替換。在 docs 中閱讀有關它的更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511580.html
上一篇:如何在Ionic中更改圖示的標題
