vue v_1">vue 中常用的v-指令演示
v-text:元素的textContent属性,必须是双标签跟{{}}效果是一样的使用较少
v-html:元素的innerHTML
v-if :判断是否插入这个元素,相当于对元素的销毁和创建
v-else-if
v-else
v-show隐藏元素如果确定要隐藏,会给元素的style加上display:none。是基于css样式的切换
v-if和v-show的区别(官网解释)
v-if是“真正"的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。相比之下,v-show就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于CSS进行切换。一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用v-show较好﹔如果在运行时条件很少改变,则使用v-if较好。
条件渲染
<!DOCTYPE html>
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< meta name = " viewport" content = " width=device-width, initial-scale" >
< meta http-equiv = " X-UA-Compatible" content = " ie=edge" >
< title> 条件渲染</ title>
</ head>
< body>
< div id = " app" >
<div v-if = "isShow">
显示
</ div>
< div v-else >
隐藏正常
</ div>
< h3 v-show = ' show' > 正常显示</ h3>
</ div>
< script src = " ./vue .js" > </ script>
< script>
new Vue ( {
el: '#app' ,
data: {
isShow: Math. random ( ) > 0.5 ,
show: true
}
} )
</ script>
</ body>
</ html>
将show的值改为false
指令之v-bind
v-bind使用
<!DOCTYPE html>
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< meta name = " viewport" content = " width=device-width, initial-scale" >
< meta http-equiv = " X-UA-Compatible" content = " ie=edge" >
< title> v-bind指令</ title>
</ head>
< body>
< div id = " app" >
< a href = " res.url" > 百度</ a>
</ div>
< script src = " ./vue .js" > </ script>
< script>
new Vue ( {
el: '#app' ,
data: {
res: {
name: '百度' ,
url: 'https://www.baidu.com'
}
}
} )
</ script>
</ body>
</ html>
<!DOCTYPE html>
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< meta name = " viewport" content = " width=device-width, initial-scale" >
< meta http-equiv = " X-UA-Compatible" content = " ie=edge" >
< title> v-bind指令</ title>
</ head>
< body>
< div id = " app" >
< a v-bind: href= " res.url" v-bind: title= ' res.title' > 百度</ a>
</ div>
< script src = " ./vue .js" > </ script>
< script>
new Vue ( {
el: '#app' ,
data: {
res: {
name: '百度' ,
url: 'https://www.baidu.com' ,
title: '百度一下'
}
}
} )
</ script>
</ body>
</ html>
<!DOCTYPE html>
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< meta name = " viewport" content = " width=device-width, initial-scale" >
< meta http-equiv = " X-UA-Compatible" content = " ie=edge" >
< title> v-bind指令</ title>
< style>
.active {
color : red;
}
</ style>
</ head>
< body>
< div id = " app" >
< a v-bind: href= " res.url" v-bind: title= ' res.title' > 百度</ a>
< h3 v-bind: class= " {active:isActive}" > v-bind的用法</ h3>
</ div>
< script src = " ./vue .js" > </ script>
< script>
new Vue ( {
el: '#app' ,
data: {
res: {
name: '百度' ,
url: 'https://www.baidu.com' ,
title: '百度一下' ,
} ,
isActive: true
}
} )
</ script>
</ body>
</ html>
<!DOCTYPE html>
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< meta name = " viewport" content = " width=device-width, initial-scale" >
< meta http-equiv = " X-UA-Compatible" content = " ie=edge" >
< title> v-bind指令</ title>
< style>
.active {
color : red;
}
</ style>
</ head>
< body>
< div id = " app" >
< a v-bind: href= " res.url" v-bind: title= ' res.title' > 百度</ a>
< h3 v-bind: class= " {active:isActive}" > v-bind的用法</ h3>
< h4 : style =' { color : isColor,fontSize : fontSize+" px" } ' > hello bind</ h4>
</ div>
< script src = " ./vue .js" > </ script>
< script>
new Vue ( {
el: '#app' ,
data: {
res: {
name: '百度' ,
url: 'https://www.baidu.com' ,
title: '百度一下' ,
} ,
isActive: true ,
isColor: 'green' ,
fontSize: 30
}
} )
</ script>
</ body>
</ html>