五度硝、Vue的10個(gè)指令

1. v-text 指令

<strong>v-text :</strong>用于更新標(biāo)簽包含的文本卷扮,它的作用跟雙大括號(hào)的效果一樣;

<div id="app">
    <p v-text="msg"></p>
</div>
<script>
    new Vue({
        el:"#app",
        data:{
            msg:"hiddensmile"
        }
    })
</script>

<p></p>標(biāo)簽加上了指令 v-text ,它的值就是data數(shù)據(jù)中的msg谨读,渲染結(jié)果:


渲染成功
<p v-text="msg"></p>
===
<p>{{msg}}</p>

2. v-html 指令

<strong>用法:</strong>綁定一些包含html代碼的數(shù)據(jù)在視圖上盐须,比如:“< em >hello,Vue!< /em >”,這個(gè)字符串包含了< em >標(biāo)簽贼邓,要想< em >不被當(dāng)作普通的字符串渲染出來阶冈,就得用 v-html 指令;

<div id="app">
    <p v-text="msg"></p>
    <b v-html="main"></b>
</div>
<script>
new Vue({
el:"#app",
  data:{
     msg:"hiddensmile",
     main:"<em>hello,Vue!</em>"
  }
})
</script>
渲染成功

< em >標(biāo)簽被成功解析并渲染出來塑径,視圖上的文本也有了加粗 斜體的效果女坑,這就是v-html發(fā)揮了作用,bingo统舀!

3. v-show 指令

<strong>v-show 指令:</strong>用來控制元素的display css屬性的匆骗,取值為true/false;

<div id="app">
    <p v-show="display">我是false</p>
    <p v-show="show">我是true</p>
</div>
<script>
new Vue({
  el:"#app",
  data:{
    display:false,
    show:true,
  }
})
</script>

用了兩個(gè)< p >標(biāo)簽,都加上了 v-show 指令誉简,取值分別為true和fasle碉就,直接看效果


渲染成功

<strong>釋:</strong>第二個(gè)p標(biāo)簽的v-show設(shè)置為true,元素正常顯示闷串;第一個(gè)p標(biāo)簽的v-show設(shè)置為false瓮钥,元素解析成:

<p style="display:none">我是false</p>

所以它不會(huì)顯示在視圖上。這就是 v-show 指令的用法烹吵,簡單明了碉熄。

4. v-if 指令

<strong> v-if </strong>指令的取值也是為true或false,它控制元素是否需要被渲染出來肋拔,拿兩個(gè)元素設(shè)置不用的值锈津,對比一下看效果就知道了。

<div id="app">
    <p v-if="if_true">我是true</p>
    <p v-if="if_false">我是false</p>
</div>
<script>
new Vue({
  el:"#app",
  data:{
    if_true:true,
    if_false:false,
  }
 })
</script>

把 v-show 指令換成了 v-if 凉蜂,同樣是兩個(gè)< p >標(biāo)簽琼梆,同樣是不同的取值:true和false×裕看效果:


v-if true渲染成功

<strong>釋:</strong>設(shè)置為true的< p >標(biāo)簽茎杂,成功渲染出來,而設(shè)置為false的< p >標(biāo)簽爆存,直接被一行注釋代替了蛉顽,并沒有被解析渲染出來。

v-show 和 v-if 都能控制元素顯示或者隱藏先较,區(qū)別:如果需要頻繁切換顯示/隱藏的携冤,就用 v-show;如果運(yùn)行后不太可能切換顯示/隱藏的闲勺,就用 v-if 曾棕。

5. v-else 指令

<strong>v-else 指令:</strong>要求前一個(gè)兄弟節(jié)點(diǎn)必須要使用 v-if 指令;

<div id="app">
    <p v-if="if_1">我是if_1</p>
    <p v-else>我是else_1</p>
    <p v-if="if_2">我是if_2</p>
    <p v-else>我是else_2</p>
</div>
<script>
new Vue({
    el:"#app",
    data:{
        if_1:false,
        if_2:true,
    }
})
</script>
渲染成功

<strong>釋:</strong>只有第二個(gè)< p >標(biāo)簽被渲染出來,第一個(gè)< p >標(biāo)簽由于 v-if 指令的值為false菜循,直接被忽視了翘地,不渲染。直接渲染第二個(gè)< p >
一旦第一個(gè)標(biāo)簽的 v-if 指令的值為true,被忽視的就是第二個(gè)< p >標(biāo)簽了衙耕。 v-if 和 v-else 只有一個(gè)會(huì)被渲染出來昧穿。

6. v-for 指令

<strong>v-for 指令:</strong>data中的存放的數(shù)據(jù)不是個(gè)簡單的數(shù)字或者字符串,而是數(shù)組Array類型橙喘,這時(shí)时鸵,要把數(shù)組的元素展示在視圖上,就需要用到vue提供的 v-for 指令厅瞎,來實(shí)現(xiàn)列表的渲染饰潜。

<ul id="app">
    <li v-for="list in items">我是{{list}}</li>
</ul>
<script>
new Vue({
    el:"#app",
    data:{
        items:['list01','list02','list03']
    }
})

<strong>釋:</strong>data中包含數(shù)組 items,數(shù)組包含三個(gè)元素:“l(fā)ist01”和簸,“l(fā)ist02”彭雾,“l(fā)ist03”,我們通過 v-for 指令把它渲染出來锁保,其中l(wèi)ist表示數(shù)組中的每個(gè)元素薯酝。渲染結(jié)果:


渲染成功

<strong>釋:</strong>解析渲染出三個(gè)li,其中包含的值分別是數(shù)組中的元素身诺,表示解析渲染成功蜜托。

<em>循環(huán)解析:</em>不但要拿到items數(shù)組的每個(gè)元素list抄囚,我們還獲取每個(gè)元素的索引霉赡,寫法如上,循環(huán)的時(shí)候加上(list,index)幔托。

<strong>如何拿到索引穴亏?</strong>拿到每個(gè)元素的索引也很簡單,稍微改動(dòng)一下代碼重挑,把html部分的代碼修改為:

<ul id="app">
    <li v-for="(list,index) in items">{{list}}</li>
</ul>
渲染成功

<strong>注:v-for指令除了可以迭代數(shù)組嗓化,還可以迭代對象和整數(shù)。 </strong>

7. v-bind 指令

<strong> v-bind 指令</strong>的作用和用法谬哀,它用于動(dòng)態(tài)綁定DOM元素的屬性刺覆,比較常見的比如:< a >標(biāo)簽的href屬性,<img/>標(biāo)簽的src屬性史煎。

<div id="app">
    ![](src_img)
</div>
<script>
new Vue({
    el:"#app",
    data:{
        src_img:"../images/2.jpg"
    }
})
</script>

<strong>釋:</strong>用 v-bind 指令來修飾src屬性谦屑,表明它的值是一個(gè)動(dòng)態(tài)的值,對應(yīng)的則是data中的src的值:../images/2.jpg.


8. v-on 指令

<strong>v-on 指令</strong>相當(dāng)于綁定事件的監(jiān)聽器篇梭,綁定的事件觸發(fā)了氢橙,可以指定事件的處理函數(shù);

<div id="app">
    <button v-on:click="click_btn">點(diǎn)擊</button>
</div>
<script>
new Vue({
    el:"#app",
    methods:{
        click_btn(){
            console.log("hello,hiddensmile!")
        }
    }
})
</script>

通過 v-on 指令修飾click點(diǎn)擊事件,指定事件響應(yīng)后的處理函數(shù)為methods中的click_btn( )方法


渲染成功

<strong>釋:</strong>點(diǎn)擊按鈕恬偷,可以成功觸發(fā)click事件悍手,并且調(diào)用click_btn( ),想給處理程序say( )傳參數(shù),也是可以的坦康;

<div id="app">
    <button v-on:click="click_btn('女')">點(diǎn)擊</button>
</div>
<script>
new Vue({
    el:"#app",
    methods:{
        click_btn(sex){
            console.log("hello,"+sex)
        }
    }
})
</script>
帶參數(shù)渲染成功

<strong>釋:</strong>click_btn(sex)接受一個(gè)參數(shù)sex竣付,并把sex打印出來,在調(diào)用的時(shí)候傳如實(shí)參“女”滞欠。

9. v-model 指令

<strong>v-model 指令:</strong>最重要最常用的指令卑笨,一般用在表單輸入,它幫助我們輕易地實(shí)現(xiàn)表單控件和數(shù)據(jù)的雙向綁定仑撞。

<div id="app">
    <input type="text" v-model="msg">
    <p>剛剛輸入的是:{{msg}}</p>
</div>
<script>
new Vue({
    el:"#app",
    data:{
        msg:'',
    }
})

<strong>釋:</strong>只要給input控件添加 v-model 指令赤兴,并指定關(guān)聯(lián)的數(shù)據(jù)msg,就可以把用戶輸入的內(nèi)容綁定在msg上隧哮。把msg的內(nèi)容顯示出來桶良,看是不是跟用戶輸入的內(nèi)容是同步更新的:


渲染成功

10. v-once 指令

<strong>v-once 指令:</strong>它的特點(diǎn)是只渲染一次,后面元素中的數(shù)據(jù)再更新變化沮翔,都不會(huì)重新渲染陨帆。

<div id="app">
    <input type="text" v-model="msg">
    <p v-once>你輸入的是:{{msg}}</p>
</div>
<script>
new Vue({
    el:"#app",
    data:{
        msg:"hello,大家好,我是hiddensmile采蚀!"
    }
})
</script>

<strong>釋:</strong> 修改1:< p >標(biāo)簽增加了 v-once 指令疲牵;
修改2:msg的初始值不再是空字符串∮苁螅看效果:


渲染成功

<strong>釋:</strong> 由于msg有了初始值纲爸,第一次渲染的時(shí)候,input控件和< p >標(biāo)簽都有了內(nèi)容妆够,由于< p>標(biāo)簽添加了 v-once 指令识啦,所以,后期更新msg的值的時(shí)候神妹,< p>標(biāo)簽的內(nèi)容不會(huì)發(fā)生改變颓哮;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鸵荠,隨后出現(xiàn)的幾起案子冕茅,更是在濱河造成了極大的恐慌,老刑警劉巖蛹找,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨伤,死亡現(xiàn)場離奇詭異,居然都是意外死亡熄赡,警方通過查閱死者的電腦和手機(jī)姜挺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彼硫,“玉大人炊豪,你說我怎么就攤上這事凌箕。” “怎么了词渤?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵牵舱,是天一觀的道長。 經(jīng)常有香客問我缺虐,道長芜壁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任高氮,我火速辦了婚禮慧妄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剪芍。我一直安慰自己塞淹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布罪裹。 她就那樣靜靜地躺著饱普,像睡著了一般。 火紅的嫁衣襯著肌膚如雪状共。 梳的紋絲不亂的頭發(fā)上套耕,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機(jī)與錄音峡继,去河邊找鬼冯袍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鬓椭,可吹牛的內(nèi)容都是我干的颠猴。 我是一名探鬼主播关划,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼小染,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贮折?” 一聲冷哼從身側(cè)響起裤翩,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎调榄,沒想到半個(gè)月后踊赠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡每庆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年筐带,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缤灵。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伦籍,死狀恐怖蓝晒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帖鸦,我是刑警寧澤芝薇,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站作儿,受9級(jí)特大地震影響洛二,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜攻锰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一晾嘶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娶吞,春花似錦变擒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至材部,卻和暖如春毫缆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乐导。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工苦丁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人物臂。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓旺拉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親棵磷。 傳聞我的和親對象是個(gè)殘疾皇子蛾狗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,734評論 1 92
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容仪媒,還有我對于 Vue 1.0 印象不深的內(nèi)容沉桌。關(guān)于...
    云之外閱讀 5,046評論 0 29
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,204評論 0 6
  • vue.js官網(wǎng)教程學(xué)習(xí)筆記和學(xué)習(xí)摘要 起步 安裝 一個(gè)簡單的方法,直接把一個(gè)vue.js引入你的HTML頁面中算吩,...
    恰皮閱讀 3,366評論 2 22
  • 早安留凭,公主 2017.5.4 你起的很早,我眼睛還有點(diǎn)困偎巢。陰天蔼夜,這天氣糟透了,也符合你這一天的心情吧压昼。 我不會(huì)強(qiáng)加...
    劉木子安閱讀 259評論 0 1