2、v-model雙向繫結radio
3、v-model繫結checkbox
4、v-model繫結select
5、值繫結
6、修飾符
前面我們學的是在html標籤中使用mustache語法實現資料的動態顯示,利用vue的v-bind語法實現屬性的動態繫結,通過v-on實現與使用者的動態互動等等。其實,表單控制項在前端的實際開發中也是非常常見的。特別是對於使用者資訊的提交來說,需要用到大量的表單元素。
疑問:在vue中是通過什麼來實現對表單控制項的操作的呢?
回答:vue中使用v-model指令來實現表單元素和資料的雙向繫結。
案例的解析:
當我們在輸入框輸入內容時,因為input中的v-model繫結了message,所以會實時將輸入的內容傳遞給message,message發生改變。當message發生改變時,因為上面我們使用mustache語法,將message的值插入到dom中,所以dom會發生響應的改變。所以,通過v-model實現了雙向的繫結。當然,我們也可以將v-model用於textarea元素。
v-model其實是乙個語法糖,本質上它包含兩個操作:
1.v-bind繫結乙個value屬性
2.v-on指令給當前元素繫結input事件
也就是說下面的**:等同於下面的**:
等同於
小貼士上述**中$event.target.value( ) 的作用是獲取當前文字框的值(由事件觸發時),只要在input視窗輸入資料,就會觸發事件,將會自動獲取文字框的值。
另外,還有個問題:methods中的event.target.value指的是什麼,與this指向有什麼不同?
答:每次觸發dom事件時都會產生乙個事件物件(也稱event物件),此處的引數event就是用於接收事件物件的。而事件物件也有很多屬性和方法,其中target屬性是獲取觸發事件物件的目標,也就是繫結事件的元素,event.target表示該dom元素,然後在獲取其相應的屬性值。
event.target中的target 屬性可以是註冊事件時的元素,或者它的子元素。通常用於比較 event.target 和 this 來確定事件是不是由於冒泡而觸發的。經常用於事件冒泡時處理事件委託。
簡單來說:
this和event.target的區別:
js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標dom元素。
大家平時上網都會遇到很多表單頁面,在這些表單頁面中,除了前面介紹的input外,還有一些radio(單選框)用於選擇。當我們的頁面需要選擇乙個單選框後,就給出這個選項的資料的話,我們就可以使用v-model來繫結radio。
上**演示一下:
結果為:
從結果可以看到,如果在**中***我們賦予了男,即預設為男,那麼結果就會顯示男。
切換一下單選框,便改為女。
小貼士
v-model繫結相同的值,也能實現name互斥radio的效果。(上述**所示)
核取方塊分為兩種情況:單個勾選框和多個勾選框
單個勾選框(單選框):
v-model即為布林值。
此時input的value並不影響v-model的值。
小貼士多個核取方塊(多選框):
當是多個核取方塊時,因為可以選中多個,所以對應的data中屬性是乙個陣列。當選中某乙個時,就會將input的value新增到陣列中。
和checkbox一樣,select也分單選和多選兩種情況。
單選:
只能選中乙個值,v-model繫結的是乙個值。當我們選中option中的乙個時,會將它對應的value賦值到fruit中。如果fruit有乙個值,該值為預設值,直接選中對應value的單選框。
多選:
可以選中多個值。v-model繫結的是乙個陣列。當選中多個值時,就會將選中的option對應的value新增到陣列fruits中
所謂的值繫結,其實就是動態的給value賦值而已,我們前面的value中的值,可以回頭去看一下,都是在定義input的時候直接給定的。但是真實開發中,這些input的值可能是從網路獲取或定義在data中的。所以我們可以通過v-bind:value動態的給value繫結值。
abc
Vue基礎語法(上) vue學習筆記
剛接觸一門程式語言或者框架,我們都應該先熟悉其基本語法,以及使用框架的基礎步驟,即使你是程式設計高手,熟悉並且熟練使用這些語法之後,首先可以提高編碼效率,其次,編碼的過程中也會運用的得心應手,順手拈來!學習基本語法,我們就以標籤引入html檔案的方式來學習,這樣對學習語法更加簡潔直觀,後邊再學習到工...
python學習筆記 基礎語法4
python條件語句是通過一條或多條語句的執行結果 true或者false 來決定執行的 塊。可以通過下圖來簡單了解條件語句的執行過程 python程式語言指定任何非0和非空 null 值為true,0 或者 null為false。python 程式設計中 if 語句用於控制程式的執行,基本形式為 ...
Python學習筆記4 語法基礎
兩個乘號就是指數 a 7 2 print a 49 等於 a 3 4 print a 不等於 a 3 4 print a 其他符號是 print 3 8 print wangxiaojing liudana false true false true 賦值符號 a 9 a b 9a,b 1,2 賦值...