轉自:javascript
做用 : 操做元素中的純文本
快捷方式 : {{}}php
簡寫形式:將v-text=""換成{{}}html
<div id="app"> {{ message }} </div> var app = new Vue({ el : '#app', data : { message : 'hello world' } })
結果:hello worldvue
<h1 id="app1" v-text="'今天是'+year+'年'+month+'月'"></h1> var app1 = new Vue({ el : "#app1", data : { year : new Date().getFullYear(), month : new Date().getMonth()+1 } })
結果:今天是2017年5月
等同於:<h1 id="app1">今天是{{year}}年{{month}}月</h1>
java
- 這裏v-text="",雙引號並非表明字符串,而是vue自定義的劃定界限的符號。若是咱們裏邊輸出字符串,就要在裏邊再添加一對單引號。並且經測驗,要想輸出字符串,必須添加單引號,不然會報錯
- 這裏month默認是從0開始的,因此咱們要+1
- 這裏{{}}表明的就是"",因此在v-text=""中,咱們在內容裏邊就不須要再寫{{}}了,直接寫data值就行
<div id='app'> <h1>{{ message }}</h1> <h1>{{ message.concat('!!!') }}</h1> <h1>{{ message? 'has message' : 'no message' }}</h1> 下面這兩個語句報錯 <h1>{{ var message = 'message' }}</h1> <h1>{{ if(message){return info} }}</h1> </div> var app = new Vue({ el : '#app', // 綁定了上邊的id='app'的元素 data : { message : 'hello' } })
結果:
hello
hello!!!
has message
第四五句報錯web
{{}}裏邊支持表達式
但不是全部的表達式都能放在裏邊,只有單個語句的能夠,像var和if就不能夠
若是想使用if語句的話,用三元運算符代替數組
能夠採用對象的形式傳遞多個數據app
<div id="app2"> <p>姓名 : {{ person.name }}</p> <p>性別 : {{ person.sex }}</p> <p>年齡 : {{ person.age }}</p> </div> var app2 = new Vue({ el : "#app2", data : { person : { name : '小明', sex : '男', age : 8 } } })
結果:
姓名 : 小明
性別 : 男
年齡 : 8spa
補充一點:3d
用{{}}的弊端:當網速很慢或者下面的JavaScript寫錯時,會直接將{{message}}渲染到頁面
而使用v-text="message" 若是出錯是不顯示的
因此在實際開發中用v-text比較多
做用 : 操做元素中的HTML標籤
v-text會將元素當成純文本輸出,v-html會將元素當成HTML標籤解析後輸出
<div id="app3"> {{ message }} </div> var app3 = new Vue({ el : "#app3", data : { message : "[圖片上傳失敗...(image-b28bd8-1533127932697)]" } })
結果:輸出表明圖片名稱的字符串,而不是將圖片輸出
因而可知:{{}}/v-text不能解析html元素,只會照樣輸出
<div id="app3" v-html="message"></div> var app3 = new Vue({ el : "#app3", data : { message : "[圖片上傳失敗...(image-6734f-1533127932697)]" } })
結果 : 成功顯示圖片
注意 : 你的站點上動態渲染的任意 HTML 可能會很是危險,由於它很容易致使 XSS 攻擊。請只對可信內容使用 HTML 插值,毫不要對用戶提供的內容插值。
做用 : 綁定標籤屬性,:後面是標籤屬性名
<div id="app"> <a href="" v-bind:href="hrefvalue"> [圖片上傳失敗...(image-27c495-1533127932697)] </a> </div> var app = new Vue({ el : "#app", data : { hrefvalue : 'http://www.baidu.com', source : 'img/1.jpg' } })
<div id="app2"> <span v-bind:title = 'message'> 鼠標懸停幾秒鐘查看此處動態綁定的提示信息! </span> </div> var app2 = new Vue({ el : '#app2', data : { message : '頁面加載於' + new Date() } })
<div :class="{classA:isOk}">根據條件判斷綁定</div> <div :class="[classA,classB]">綁定多個class值,數組</div> <div :class="isOk?classA : classB">綁定三元運算符</div> <p> <input type="checkbox" id="isOk" v-model="isOk"> <label for="isOk">isOk = {{isOk}}</label> </p> <div :style="{color:red, fontSize:font}">綁定style</div> <div :style="styleObject">對象方式綁定style</div>
var 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' } } })