html特效指令,vue2——指令v-text v-html v-bind
一 : 指令的概念:
指令是vue自定義的以v-開頭的自定義屬性。每個不同的屬性都有各自不同的意義和功能
二 : 指令的語法:
v-指令名 = “表達(dá)式判斷或者是業(yè)務(wù)模型中屬性名或者事件名”
三 : 具體指令
1. v-text
作用 : 操作元素中的純文本
快捷方式 : {{}}
栗子1
簡寫形式:將v-text=””換成{{}}
{{ message }}
var app = new Vue({
el : '#app',
data : {
message : 'hello world'
}
})
結(jié)果:hello world
栗子2
var app1 = new Vue({
el : "#app1",
data : {
year : new Date().getFullYear(),
month : new Date().getMonth()+1
}
})
結(jié)果:今天是2017年5月
等同于:
今天是{{year}}年{{month}}月
這里v-text=””,雙引號并不是代表字符串,而是vue自定義的劃定界限的符號。如果我們里邊輸出字符串,就要在里邊再添加一對單引號。而且經(jīng)測驗,要想輸出字符串,必須添加單引號,否則會報錯
這里month默認(rèn)是從0開始的,所以我們要+1
這里{{}}代表的就是””,所以在v-text=””中,我們在內(nèi)容里邊就不需要再寫{{}}了,直接寫data值就行
栗子3
{{ message }}
{{ message.concat('!!!') }}
{{ message? 'has message' : 'no message' }}
下面這兩個語句報錯
{{ var message = 'message' }}
{{ if(message){return info} }}
var app = new Vue({
el : '#app', // 綁定了上邊的id='app'的元素
data : {
message : 'hello'
}
})
結(jié)果:
hello
hello!!!
has message
第四五句報錯
大胡子{{}}里邊支持表達(dá)式
但不是所有的表達(dá)式都能放在里邊,只有單個語句的可以,像var和if就不可以
如果想使用if語句的話,用三元運(yùn)算符代替
栗子4
可以采用對象的形式傳遞多個數(shù)據(jù)
姓名 : {{ person.name }}
性別 : {{ person.sex }}
年齡 : {{ person.age }}
var app2 = new Vue({
el : "#app2",
data : {
person : {
name : '小明',
sex : '男',
age : 8
}
}
})
結(jié)果:
姓名 : 小明
性別 : 男
年齡 : 8
補(bǔ)充一點:
用{{}}的弊端:當(dāng)網(wǎng)速很慢或者下面的JavaScript寫錯時,會直接將{{message}}渲染到頁面
而使用v-text=”message” 如果出錯是不顯示的
所以在實際開發(fā)中用v-text比較多
2. v-html
作用 : 操作元素中的HTML標(biāo)簽
v-text會將元素當(dāng)成純文本輸出,v-html會將元素當(dāng)成HTML標(biāo)簽解析后輸出
栗子1
{{ message }}
var app3 = new Vue({
el : "#app3",
data : {
message : "[圖片上傳失敗...(image-b28bd8-1533127932697)]"
}
})
結(jié)果:輸出代表圖片名稱的字符串,而不是將圖片輸出
由此可見:{{}}/v-text不能解析html元素,只會照樣輸出
栗子2
var app3 = new Vue({
el : "#app3",
data : {
message : "[圖片上傳失敗...(image-6734f-1533127932697)]"
}
})
結(jié)果 : 成功顯示圖片
3.gif
注意 : 你的站點上動態(tài)渲染的任意 HTML 可能會非常危險,因為它很容易導(dǎo)致 XSS 攻擊。請只對可信內(nèi)容使用 HTML 插值,絕不要對用戶提供的內(nèi)容插值。
3. v-bind
作用 : 綁定標(biāo)簽屬性,:后面是標(biāo)簽屬性名
栗子1
[圖片上傳失敗...(image-27c495-1533127932697)]
var app = new Vue({
el : "#app",
data : {
hrefvalue : 'http://www.baidu.com',
source : 'img/1.jpg'
}
})
5.gif
栗子2
鼠標(biāo)懸停幾秒鐘查看此處動態(tài)綁定的提示信息!
var app2 = new Vue({
el : '#app2',
data : {
message : '頁面加載于' + new Date()
}
})
補(bǔ)充v-bind小例子
根據(jù)條件判斷綁定綁定多個class值,數(shù)組綁定三元運(yùn)算符isOk = {{isOk}}
綁定style對象方式綁定stylevar app = new Vue({
el : "#app",
data : {
imgSrc : "./img/dele.jpg",
webUrl : "www.baidu.com",
className : "a",
isOk : true,
classA : 'a',
classB : 'b',
red : 'red',
font : '30px',
styleObject : { // 將style寫成對象寫法
color : 'orange',
fontSize : '40px'
}
}
})
總結(jié)
以上是生活随笔為你收集整理的html特效指令,vue2——指令v-text v-html v-bind的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三级栏目选项卡 html,李长河 中文主
- 下一篇: 计算机网络部分(共44题),计算机网络原