1.指令 (Directives): 是帶有 v- 前綴的特殊屬性, 職責是,
當表達式的值改變時, 將其產生的連帶影響,響應式地作用於 DOM。
2.HTML DOM 節點
在 HTML DOM (Document Object Model) 中 , 每一個元素都是 節點:
- 文檔是一個文檔。
- 所有的HTML元素都是元素節點。
- 所有 HTML 屬性都是屬性節點。
- 文本插入到 HTML 元素是文本節點。are text nodes。
- 注釋是注釋節點。
Document 對象
當瀏覽器載入 HTML 文檔, 它就會成為 document 對象。
document 對象是HTML文檔的根節點與所有其他節點(元素節點,文本節點,屬性節點, 注釋節點)。
Document 對象使我們可以從腳本中對 HTML 頁面中的所有元素進行訪問。
提示:Document 對象是 Window 對象的一部分,可通過 window.document 屬性對其進行訪問。
3.內置指令
1、v-bind:響應並更新DOM特性;例如:v-bind:href v-bind:class v-bind:title 等等
主要用法是綁定屬性,動態更新HTML元素上的屬性;
2、v-on:用於監聽DOM事件; 例如:v-on:click v-on:keyup
2.1 @click 的表達式可以直接使用JavaScript 語句,也可以是一個在Vue 實例中methods 選項內的函數名,可以在方法中傳遞參數
<a v-on:click=
"doSomething"
>...</a>
<a @click=
"doSomething()"
>...</a>
2.2方法與事件:
Vue 提供了一個特殊變量$event ,用於訪問原生DOM 事件,可以阻止事件冒泡或者阻止鏈接打開
2.3修飾符:
在@綁定的事件后加小圓點“.”,再跟一個后綴來使用修飾符。
常用的一些修飾符有:
• .stop
• .prevent
• .capture
• .self
• .once
阻止單擊事件冒泡
<a @click.stop=”handle "></a>
修飾符可以串聯
<a @click.stop.prevent=” handle ” ></a>
一添加事件偵聽器時使用事件捕獲模式
<div @click . capture=”handle ”> ... </div>
只當事件在該元素本身(而不是子元素) 觸發時觸發回調
<div @click.self=” handle ”> ... </div>
一只觸發一次,組件同樣適用
<div @click.once=” handle ”> ... </div>
只有在keyCode 是13 時調用vm.submit()
<input @keyup.13 =“ submit ”〉
4、v-show:條件渲染指令,為DOM設置css的style屬性
5、v-if:條件渲染指令,動態在DOM內添加或刪除DOM元素
6、v-else:條件渲染指令,必須跟v-if成對使用
7、v-else-if:判斷多層條件,必須跟v-if成對使用;
8、v-text:更新元素的textContent;例如:<span v-text="msg"></span> 等同於 < span>{{msg}} </ span>;
9、v-html:更新元素的innerHTML;會把標簽名也帶上。
10、v-for:循環指令
10.1 v- for 的表達式遍歷數組時支持一個可選參數作為當前項的索引,
例如:<li v-
for
=
"(book , index) in books "
>{{ index}} - {{book.name })</li>
10.2 v- for 的表達式遍歷對象屬性時,有兩個可選參數,分別是鍵名(key)和索引(index):
<li v-
for
=
"(value , key , index) in user "
>
{ { index } } - { { key } } : { { value } }
</li>
<span v-
for
=
"n in 10"
>{{n}}</span>
10.4 數組更新
當我們修改數組時, Vue 會檢測到數據變化,所以用v-for 渲染的視圖也會立即更新。
• push()
• pop()
• shift()
• unshit()
• splice()
• sort()
• reverse()
11、v-cloak:不需要表達式,這個指令保持在元素上直到關聯實例結束編譯; v-cloak 是一個解決初始化慢導致頁面閃動的最佳實踐 ;
12、v-once:也是一個不需要表達式的指令,作用是定義它的元素或組件只渲染一次,包括元素或組件的所有子節點。
首次渲染后,不再隨數據的變化重新渲染,將被視為靜態內容; v-once 在業務中也很少使用,當你需要進一步優化性能時,可能會用到。
13、v-pre:不需要表達式,跳過這個元素以及子元素的編譯過程,以此來加快整個項目的編譯速度;
14.label for 綁定對應的form標簽,
<input type="radio" v-model="pick" id="r1" v-bind:value="a">
<label for="r1">r1</label>
如果綁定了點擊這個標簽里面的內容光標會獲取焦點到ID為r1 的radio單選框,即點擊r1即可選中單選框
15.el:element,需要獲取的對應元素,html中的容器,(id名)
data:數據存儲,里面的值自己設置
PS:用逗號分隔,不要用分號!!!!
如果,在div外使用{{ name }},是不會出現字符串的,因為離開了div塊,el的容器
每次新建一個js對象都是 new Vue(),不同的只是el對應綁定的模塊
16.