or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
# Vue.js 文件閱讀 part 1- Introduction + Installation
Vue.js 文件閱讀 part 1- Introduction + Installation
tags: Javascript relate
tags:
Javascript, Vue.js
簡介(Introduction)
Vue.js是什麼?
影片學習 - Intro to Vue 2
安裝使用(Getting Started)
相容性指示(Compatibility Note)
語意化的版本控制
簡單來說就讓版本名稱具有意義好辨識並且達成共識,避免相容性出現問題
語意化版本
最新版本釋出
最新版本 Github
Vue 開發工具(Vue Devtools)
相當推薦使用在一個使用者友善介面下,可以更好的檢視你的作品以及幫忙debug
Vue Devtools Github
使用
<script>
引入使用Vue建議開發的時候引入Development Version才不會省略掉一些常見的錯誤訊息
內容傳遞網路 (CDN - Content delivery network)
作為原型或是學習使用
要用在產品身上則推薦使用特定的版本,因為最新版本可能尚未完善
使用原生ES Module相容的版本
可以從此處瀏覽原始碼
NPM package 原始碼
unpkg
cdnjs (最新版本有可能會比較慢登上這邊)
小提醒
在你要發布的網站上面可以使用
vue.min.js
取代vue.j
可以優化檔案大小以及執行速度NPM
當要使用在大型規模的app時推薦使用NPM,因為可以跟Webpack or Browserify相容的很好,
CLI
使用官方CLI需要一些node.js的相關知識
Vue CLI 官網
CLI 影片教學
Explanation of Different Builds
在NPM package 原始碼 dist/處有很多不同的builds下方是他們的不同之處:
名詞解釋(Term)
Full: 包含Compiler, Runtime
Compiler: 負責編譯模板字版進去JS呈現相關的函式
Runtime: 負責Vue instances, 呈現以及修補 virtual DOM(基本上處理Compiler以下的事情)
UMD: UMD相關的builds可以直接使用在瀏覽器下藉著
<script>
tagUMD (Universal Module Definition),就是一種javascript通用模塊定義規範,讓你的模塊能在javascript所有運行環境中發揮作用。
CommonJS: 給browserify or webpack使用
ES Module:
2.6Vue版本後才開始提供下面兩種builds
<script type="module">
宣告式渲染(Declarative Rendering)
範例
index.html
index.js
影片說明Hello Vue!
ex. app.message修改內容後輸出內容也會即時更改
範例二
index.html
index.js
當hover的時候在當前的string會顯示 字串+載入日期時間
v-bind
這個有v前墜屬性被稱做指示(directive),是Vue提供使用的,而這個v-bind的用法在於讓這個title的屬性隨著message屬性作同步修在Vue instance上面
所以當我使用下面的方法時,title的屬性也會及時更新
條件式以及迴圈(Conditionals and Loops)
條件式
index.html
index.js
v-if
可以理解成 v-if後方的文字必須為true(然而是否為true則要去看js程式碼如何操作),才會讓span內的文字被看見
因此當判斷式內容改成flase時,就看不見文字
迴圈
index.html
index.js
v-for
可以用來製作清單類型的呈現
如果想要再加入新的清單可以這樣做
處理使用者的輸入(Handling User Input)
範例
index.html
index.js
v-on:click
跟使用者互動藉由v-on 指示來連接事件監聽click並觸發函式來處理
點擊按鈕後把文字順序反過來
建構組件(Composing with Components)
為了建構大型專案藉著拆分成不同的小組件的優點
範例
index.js
index.html
首先在js先撰寫組件todo-item後就可以在html裡面直接使用
範例二
index.js
index.html
porp
是一個可以客製化的屬性並命名todov-bind
讓文字可以被動態的傳入DOM同時傳入key的部分會在後面章節作解釋v-for
製作清單列表在大型專案中把內部的app做拆分是必要的,讓開發過程容易管理,下面程式碼是個範例說明比較多組件且複雜的html長相
與自定義元素的關係(Relation to Custom Elements)
Vue的組件非常類似於Custom Elements
舉例說明
Vue組件執行Slot API 以及 is 特殊屬性
(目前 Safari 10.1+、Chrome 54+ 和 Firefox 63+ 原生支持 Web Components)