vue:介面,資料模型 和 控制器
mvvm 通過控制器(viewmodel),找到介面(view),放入資料模型(model)
控制器的原理:2大子系統
(1)響應系統:監視模型資料的變化,並通知框架修改頁面的機制
(2)虛擬dom樹
虛擬dom只包含可能會變化的元素和屬性。(掃瞄原始dom而產生的一棵僅包含可能變化的元素的新的簡版dom樹)
虛擬dom樹,僅包含可能變化的元素(遍歷快),僅修改發生變化的元素(效率高)。
繫結語法:在頁面中用}指定所需的變數名。(只要需要動態生成值就用繫結語法,刨坑)
雙花括號用於內容,冒號用於屬性(比如:v-bind;當需要生成動態屬性的時候。v-bind:可簡寫為:)
v-for要寫在需要反覆建立的元素上。
控制元素的顯示隱藏:
v-if,專門根據乙個條件表示式決定當前元素是否顯示,只有條件表示式為true時,當前元素才顯示。
強調!!v-if和v-else if 和 v-else之間不能插入其他元素。
v-if通過新增刪除元素的方式控制和顯示隱藏
v-show和v-if唯一的不同是隱藏方式,v-show採用的是display:none/block的方式顯示和隱藏。
二者從效率上來說v-show更高,因為不需要刪減dom樹,但是寫條件比較麻煩。
總結:控制乙個元素頻繁顯示隱藏,首選v-show
如果是多個元素選其一,v-if更加合適。
new vue({})中
new vue(, //模型資料
method:}
},})
問題:阻止預設行為
解決:1.當事件發生時,自動呼叫js語句,不傳入$event作為引數
$event就是dom中的e,是vue封裝的事件物件
2.new vue()中:
methods:
}簡寫:事件修飾符,對dom中事件api的簡寫:
2個 阻止預設行為:@click.prevent="處理函式()" //一步等於上方三步
取消冒泡: @click.stop="處理函式()"=>e.stoppropagation()
vue利用虛擬dom樹,提高效率,只修改需要修改的資料,而不是整段**。
}插值,是用來告訴vue框架,這裡需要乙個什麼名稱的資料,佔位。
指令,是vue提供,專門來增強html功能的屬性。
在事件處理函式中,要想修改當前vue的模型變數要加this.
使用vue實現乙個功能,需要兩步,第一步,找到頁面中可能變化的地方用繫結和指定佔位,第二步,頁面中需要什麼就在new vue中支援他,頁面需要資料就提供變數,要需要處理函式就提供處理函式。
指令:繫結內容}
繫結屬性:
繫結事件@
乙個元素顯示隱藏v-show
多個元素選其一v-if v-else v-else-if
根據陣列反覆生成多個頁面標籤v-for
原始的html片段不能用}繫結,}只會保持html片段原樣,所以需要
v-html="模型變數"代替},可以額讓繫結的html片段被瀏覽器解析。
純文字內容:可使用}或者v-text
v-cloak,如果希望當new vue載入慢時,不讓使用者看到}語法,就用v-cloak臨時隱藏頁面元素。
可以在style標籤中[v-cloak]
原理:new vue載入完成之後,會自動查詢v-cloak屬性,並移除該屬性,使臨時隱藏的元素,顯示出來。
v-pre:保持內容中雙花括}號不被vue編譯,如果內容中剛好有雙花括號作為正文則需要v-pre保護。
v-once:僅在首次vue載入時繫結一次,之後即使變數改變也不更新頁面。,首次繫結後就將被繫結的元素從虛擬dom樹上移除。
關於雙向繫結:
普通的繫結":屬性",只能將記憶體中的模型變數單項繫結到介面,而無法將介面的更改,自動更新會模型變數中。 介面<->記憶體 雙向繫結,既能將記憶體中的資料繫結到介面,也能反向修改,將介面的變化更新到記憶體模型變數之中。
當希望繫結表單元素的值,一律使用雙向繫結。《表單元素 v-model:value="模型變數">,其中:value可以省略。即v-moedl。
繫結鍵盤事件@keyup.13 (13即是鍵盤上回車的編號)
繫結class和style
:繫結的情況下,省略了雙花括號,只要是繫結語法,裡面可以寫任意的js表示式。
Vue day01 模板語法
文字 前面常用的 就是一種最常用的叫做 mustache 語法 雙大括號 的文字插值方式,此時mustache會將當前資料物件上的message的值動態更新插值處內容。而v once則可以只做第一次插入資料,然後就不再更新,但是請留意該節點上其他的資料繫結 在簡單的測試使用後,發現v once是在網...
NSRunLoop概述和原理
1.什麼是nsrunloop?我們會經常看到這樣的 1 2 3 4 5 6 7 8 9 10 ibaction start id sender progress sethidden yes 2.nsrunloop工作原理 接下來看一下nsrunloop具體的工作原理,首先是官方文件提供的說法,看圖 ...
NSRunLoop概述和原理
1.什麼是nsrunloop?我們會經常看到這樣的 1 2 3 4 5 6 7 8 9 10 ibaction start id sender progress sethidden yes 2.nsrunloop工作原理 接下來看一下nsrunloop具體的工作原理,首先是官方文件提供的說法,看圖 ...