入門
Vue3的教程很少,官方網站例項不好整,另外由於Python的Django也掌握了,學習這個有些讓人眼亂。Vue專案建立後,在public目錄下面自動生成了一個index.htm,裡面有個div id="app",這就是簡單例項中需要mount的入口,整了半天才發現。
Vue程式的入口,是main.js檔案,裡面要完成以下工作。
匯入createApp
import createApp from "vue"
注意這個vue,我的理解應該是js/vue.js這個檔案。
匯入待填充index.html中app標籤的Vue檔案
import App from "./views/Home.vue"
注意這個Home.vue就寫全了,它在src/views目錄下存放。
宣告App並填充例項
createApp(App).mount("#app")
上面的命令很強大,一是宣告用Home.vue檔案中name:"App"的export default生成一個網頁模組,並把它的內容填充到id="app"的div中,生成網頁供使用者使用。
例項:Vue模組巢狀
普通的Vue使用就不用說了,我們講一個實際應用中採用模組化開發應用十分常見的方法:Vue檔案巢狀使用。
場景
在主頁上定製一個Button,點選後自動隱藏或顯示一個區別內容,該區域可以是許可權宣告,也可以是其它資訊。
定製Modal.vue
位置:src/views/Modal.vue
程式碼:
<template> <div class="modal"> <slot></slot> </div> </template>
注意事項:這裡有個slot命令,是Vue中用以繼承父模組待顯示的內容,即這個modal的Div下面,需要顯示的內容,我的理解,父級引用時,宣告一個moda,然後加一個標籤項,該項內容將會在Modal模組中繼承和顯示。
主介面的template
檔案: src/views/Home.vue
<template> <button @click="onModalClick">{{modalFlag?"Close modal":"Open Modal"}}</button> <modal v-if="modalFlag"> <p>Modals would be appeared here when modalFlag is true.</p> </modal> </template>
注意:這裡的moda,是Modal。vue這個子元件中定義的,在主檔案中使用時,並不需要再定義和引用。
主介面中的script宣告
需要宣告和引用以下部分內容:
import Modal from "./Modal.vue" import { ref } from "vue";
注意由於Modal.vue和Home.vue都是在一個views目錄下,因此這個路徑是當前目錄,注意別路徑錯誤提示找不到module了呢。
預設引數匯出
//exports default export default { name:"Home", components:{ Modal }, setup(){ const modalFlag=ref(false); const onModalClick=()=>{ modalFlag.value=!modalFlag.value; } return { modalFlag, onModalClick } } }
上面一段程式碼中需要注意的是:
預設匯出
export default宣告,default是否能夠修改,如何改,尚未獲得相關資訊。
name
name的值一定要有,這個是import 的物件,可以自定義,也可以與函式名稱不一致,建議保持一致吧。
components宣告
當使用巢狀時,必須將匯入的元件作為子元件予以宣告,這裡有多少個可以匯入多少個,比如常見的footer、nav、logo、copyright等。
setup()
一定不要太英語化思維,不是setups,注意這裡面儲存所有的頁面資料元素,可以是簡單資料ref,也可以是複雜的reactive,資料要交給template,必須return相應資料,只有return出的資料template才能正常使用。
箭頭函式
這個是JS的坑,適應吧,可用於引數賦值,也可以無參函式宣告。
總結
Vue3入門搞明白的流程基本上就是這些。要具體使用,還有很多事情要整,但起了第一步。