Vue學習1
阿新 • • 發佈:2020-10-20
Vue學習1
el掛載點
-
Vue例項的作用範圍是什麼?
Vue 會管理el選項命中的元素及其內部的後代元素
-
是否可以使用其他選擇器
通常使用的“"#app"使用的是id選擇器,像類選擇器”.app“,標籤選擇器”div“,都可以使用,不過建議選擇id選擇器,只有一個
-
是否可以設定其他的dom元素呢?Vue是否可以掛載到其他dom元素上,而不僅僅是div?
可以掛載到其他的dom元素上(要求是雙標籤),不能掛載到html 和body上
-
el的作用:用來設定Vue例項掛載(管理)的元素
data資料物件
-
Vue 中用到的資料定義在data中
-
data中可以寫複雜型別的資料 (物件student(相當於python 中的字典),陣列,。。。)
-
渲染複雜型別資料時,遵守js的語法即可( student.name 點,索引)
Vue指令
v-text
- 作用:將資料設定為標籤的文字值(設定元素的文字值)
- 預設寫法會替換全部內容,使用差值表示式{{}}可以替換指定內容
- 內部支援寫表示式
- {{}}也是v-text 的一種形式,或者可稱是其一種簡寫
v-text :就是一個屬性而已
<div id="app"> <h2 v-text ="msg" ></h2> <h2>深圳{{msg}}</h2> <!--這兩種的區別是v-text屬性 會把data中的對應資料覆蓋h2標籤的所有內容,是整體改變,而差值表示式{{}}是區域性替換--> </div>
<h2 v-text =" msg+'!!'" ></h2>
<h2>深圳{{msg+"biu"}}</h2>
v-html
-
作用:設定標籤的innerHTML
-
內容中有html結構會被解析為標籤
-
v-text 指令無論內容是什麼,只會解析為文字
-
解析文字使用v-text ,需要解析html結構使用v-html
v-on
- 作用:為元素繫結事件
- 事件名寫什麼?如果是點選事件,寫 click ,如果的是 滑鼠移入事件,寫monseenter ,雙擊事件 dblclick 方法寫在Vue例項的methods中
- 無論什麼事件共同的部分是 v-on: ,Vue提供了一種更簡單的寫法,支援 v-on:替換為 @
<div id="app">
<input type="button" value = "事件繫結" v-on:事件名 = "方法" >
</div>
v-text v-html v- on 內容繫結 事件繫結
v-show
- 根據表示式的真假,切換元素的顯示和隱藏
- 原理是修改元素的display,實現顯示隱藏
- 指令後面的內容,最終都會解析為布林值
- 值為true 元素顯示,值為false 元素隱藏
- 資料改變之後,對應元素的顯示狀態會同步更新
<div id="app">
<!--三種形式-->
<img src="地址" v-show = "true">
<img src="地址" v-show = "isShow">
<img src="地址" v-show = "age >=18">
</div>
var vm = new Vue({
el:"#app",
data:{
isShow:true,
age:16,
}
})
v-if
- 根據表示式的真假,切換元素的顯示和隱藏(操縱dom元素)
- 本質是通過操縱dom元素來切換顯示狀態
- 表示式的值為true,元素存在於dom樹中,為false,從dom樹中移除
- 與 v- show類似的作用,兩者都有其差不多的三種形式
- 兩者的區別在於,v-if 為false的時候,會把該元素從dom樹中移除,而v-show是操縱元素的display ,為false時,將display 設定為none。
- 實際使用時,對於頻繁使用的元素,用v-show,不經常使用的用v-if
v-bind
- 設定元素的屬性(比如src,title,class)
- v-bind 指令的作用是:為元素繫結屬性
- 語法: v-bind: 屬性名 = 表示式 或者 :屬性名 = 表示式
- v-bind: 可簡寫為 :
- 如果設定的為class 更建議使用物件的形式而不是三元表示式
<div id="app">
<img v-bind:src = "imgSrc">
<img v-bind:title = "imgTitle"+"!!!!"> //可直接新增字元
<img v-bind:class = "isActive? 'active':''"> //三元表示式
<img v-bind:class = "{active:isActive}"> //物件形式
</div>
var vm = new Vue({
el:"#app",
data:{
imgSrc:"圖片地址",
imgTitle:"黑馬程式設計師",
isActive:false
}
})