VUE Day01概述和原理

2022-02-15 08:52:25 字數 2176 閱讀 7779

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具體的工作原理,首先是官方文件提供的說法,看圖 ...