專案結構
建立完Vue專案後,開啟專案。
可以看到src資料夾(Vue 專案的核心)底下,分別為assets與components資料夾、App.vue與main.js檔案。
assets資料夾 : 放置一些靜態圖片與CSS。
components資料夾 : 放置共用元件。
App.vue : Vue應用程式的根節點。
main.js : 專案入口處,初始化 Vue 應用程式。
App.vue
開啟App.vue檔案。
.vue檔案主要是由三個標籤所組成的,以App.vue的內容依序來看,分別為
template、script、style。
script
<script>區塊是註冊元件與處理Javascript的區域。
在script中,會創建一個vue的實體,並用export default { ...};包著來輸出給template或是其他外部做引入使用。
vue元件操作:
[ components ]
定義元件(components)。
在專案的src/App.vue,可以看到<script/>中的第一行import HelloWorld from "./components/HelloWorld.vue";
import(引入)HelloWorld.vue檔案並命名為HelloWorld。
接著在export default { …};
中,將HelloWorld以元件(components)輸出至頁面,讓<template/>以<HelloWorld>標籤來做使用,顯示HelloWorld.vue中的內容。
[ props ]
元件(components)與元件(components)之前傳遞資料的方式。
在專案的src/HelloWorld.vue,可以看到<script/>的export default { }
內定義了props屬性有一個命名為msg、型態為String的組件。
接著在src/HelloWorld.vue,往上看到<template/>內<h1>{{ msg }}</h1>
以花括號包住msg來顯示接收到的msg值。
其他還有很多元件,如:data ()、computed、methods、watch、filters、directives...等,用來定資料或是計算、處理資料。
template
<template>區塊是元件模板,主要是處理HTML與Vue的語法。
<img>標籤定義了圖片來源為assets裡的logo.png圖檔,並顯示在畫面上。<Helloworld/>標籤顯示Helloworld.vue的內容。
template翻譯成中文為模板,<template>標籤內是用來撰寫HTML的地方,比較特別的是這邊除了可以寫HTML外,還可以操作Vue的語法。
template中的Vue語法操作,如src/HelloWorld.vue中以花括號{{ }}
顯示值的方式。
其他還有很多Vue語法,如:v-for、v-if、v-else-if、v-else、v-show、…等,用來組成HTML畫面。
style
<style>區塊設定頁面的CSS樣式。
跟一般寫CSS的寫法一樣,其中比較特別的是scoped屬性。
在style加上scoped屬性後,裡面所寫的CSS樣式會變成僅限於這個vue元件使用。