Vue学习1
时间:2020-10-20 21:14:02
收藏:0
阅读:30
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
}
})
原文:https://www.cnblogs.com/moshanghuai/p/13848986.html
评论(0)