VUE Day03元件開發

2022-02-15 08:52:24 字數 1966 閱讀 3915

複習:

①指令vue自動將記憶體放入介面,不同位置需要不同指令

資料放到內容中,使用雙花括號},插值語法

資料放到屬性中動態繫結,用冒號:

反覆根據陣列中元素生成多個元素v-for

控制乙個元素顯示隱藏v-show

多個元素選其一顯示v-if

繫結事件@

事件處理函式寫在methods中

如何獲得滑鼠位置,第一步繫結的時候使用$event關鍵字傳入事件物件,然後在處理函式中用e接住

阻止預設行為e.preventdefault();

取消冒泡stop

按回車觸發@keyup.13

繫結內容特殊情況,內容不是文字是html片段,此時雙花括號繫結會保持原樣,內容不會被編譯,要用v-html

v-text效果等同於}

在vue元件載入完之前臨時隱藏繫結元素,防止使用者看到雙花括號語法,v-cloak使用時需要定義屬性選擇器[ v-cloak ] 

v-pre保護內容中的雙花括號語法不被編譯

v-once只在開始時繫結一次,之後不再繫結,即使模型資料改變也不變

12個指令都是單向的,只能將記憶體model中的資料綁到檢視介面view中,收集使用者資訊需要用表單元素,必須要雙向繫結v-model

文字框,文字域都是讓使用者填寫內容的,這種都儲存在value中,所以v-model會自動繫結value,當value發生變化會自動更新model中的變數。

但是有一些元素value是寫死的,比如說radio,它的繫結原理有兩個方向,首先將模型資料繫結到介面時,它是拿被繫結的模型變數和radio上的值作比較,只有相等時才會被選中,當選中某乙個radio時,它會反向將當前選中的radio的value自動更新到記憶體中。

checkbox單獨使用時,只能改checked的屬性,選中就是checked,使用時只需要把布林值綁給checked就可以了。

select,value是寫在每乙個option上的,但是v-model要寫到select上,因為切換選中項時改的不是option的value而是改的整個select的value,當繫結時,會拿變數值和每個option比較,那個相等選那個,修改選中項之後,會自動更新回到value中。

這四個表單元素,無固定規律,分別看待。

雙向繫結原理,其實是依靠一種監視機制來實現,比如知道vue中寫乙個死迴圈(有很多方法製作死迴圈掃瞄介面,while,for,setinterval),當介面發生變化時自動更新記憶體中的變數,借助此機制,只要變數發生變動(寫在watch中,監視誰就寫誰),以此達到只要模型變數變化就能自動完成一件事情。

new vue(,

watch:).then(res=>) 

元件化開發:

什麼是元件:擁有獨立的html,css,js和資料的頁面獨立區域

什麼是元件化:今後所有頁面都是由多個頁面組成的

每定義乙個網頁都要先劃分元件結構,再分別編寫每個元件。

為什麼:

(1)重用

(2)便於大專案的分工協作

(3)鬆散耦合

如何:①建立元件

每個元件包含三部分:html/js:

《元件名》

1.封裝template,html結構 2.建立component,元件功能 

②使用元件

元件其實就是乙個標籤名

只要在主內容中,新增乙個《元件名》③元件分類

1.new vue( 

2.vue.component("元件名", }      

3.子元件:僅限於在某個父元件內才能使用的元件

如何:2步

(1)只要將vue.component降級為普通物件

強調:變數名用標籤名(將來元件名)的駝峰方式

(2)在父元件中新增components屬性:{

子元件變數名,子元件變數名,  //es6簡寫

vue會將駝峰命名的元件名,轉為小寫,並用-分隔

比如:todoadd -> todo-add

todolist -> todo-list

Vue day03 條件渲染

v if 前面講過v if和v else,v else if的用法,這裡在補充一些 當有一組元素需要新增v if指令時,為每個元素都新增v if就會顯得尤為惱火。這時可以使用template元素 v if ok hellop 我們都需要v ifspan template div var vm new...

Vue03 元件化開發

將乙個頁面拆分成乙個個小的功能塊,每個功能塊完成屬於自己這部分獨立的功能,從而簡化整個頁面的管理和維護,提高專案的擴充套件性,這樣的流程稱作元件化 我是內容,呵呵呵 父傳子基本原理 借助props 傳遞資料 子傳父基本原理 子元件中,通過 emit 來發射乙個自定義事件。在父元件中,通過v on來監...

2 1 元件化開發

doctype html lang en charset utf 8 titletitle head 歡迎來到vue元件化h2 div 歡迎來到vue元件化h2 div 歡迎來到vue元件化h2 div body html 1.定義的元件,可以在同乙個頁面的多個vue例項中去使用 2.元件建立,組建...