vue指令大全~~~

扫码查看

是的,这里有很全的vue指令使用~

1.简单的vue应用

vue作为一个mvvm框架,想想为什么叫做mvvm?

Model是负责数据的存储,

View负责页面的展示

Model View

负责业务逻辑处理,对数据加工后视图展示

MVVM的作用是业务逻辑代码与视图代码完全分离,各自的职责更加清晰~

<body>
<!--mvvm里面的v-->
<div id="app">
{{val}}
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'你好'
}
})
</script> </body

2.v-text

 <div id="app" v-text="val">
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'你好'
}
})
</script>

视图:

vue指令大全~~~-LMLPHP

这里的v-text是偏向于文本的,如果你将 val:'你好'改成val:'<p style="color:red">你好</p>'

视图是

vue指令大全~~~-LMLPHP

所以接下来就是介绍v-html

3.v-html

<body>
<!--mvvm里面的v-->
<div id="app" v-html="val">
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'<p style="color:red">你好</p>'
}
})
</script>
</body>

视图:

vue指令大全~~~-LMLPHP

v-text是把所有的都以文本的形式展现,而v-html能够解析里面的标签~

4 v-cloak

平常我们的数据都是用{{}}渲染出来的,那么这样的渲染与v-html和v-text有什么区别呢?

在网络不行的情况下,我们用{{}}的形式渲染会出现闪现{{}},再出现数据,所以将这个指令放在要渲染的标签的父元素上就可以,还要记得写样式display:none当然你可以放在刚开始vue定义的范围的标签上

 <style>
[v-cloak]{
display: none
}
</style>
</head>
<body>
<!--mvvm里面的v-->
<div id="app" v-cloak>
{{val}}
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'你好'
}
})
</script> </body>

5.v-for

 <div id="app">
<div v-for="(el,index) in dataList">
<p>名字:{{el.name}}</p>
<p>年龄:{{el.age}}</p>
</div>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script>
//这是mvvm里面的vm
var vm = new Vue({
el: '#app',
//这是mvvm里面的m
data: {
val: '你好',
dataList:[
{
name:'jack',
age:
},
{
name:'rose',
age:
}
]
}
})
</script>

这里要注意的是:

一般都加上:

    <div v-for="(el,index) in dataList" :key="index" >
<p>名字:{{el.name}}</p>
<p>年龄:{{el.age}}</p>
</div>
:key="index"   或者如果el里面有id 的话可以写:key="el.id" 这样来区分每一个list,因为在渲染的时候都是整个list渲染的,加上这个就只用替换,或者说是局部的变化

6.v-on

 <div id="app">
<button type="button" v-on:click="clickMe()">爱我你就点点我</button>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'你好'
},
methods:{
clickMe(){
alert(this.val)
} }
})
</script>
v-on:click="clickMe()"  简写:click="clickMe()"就可以了
这里的this代表的就是vm啦,你直接用vm.val也是一样的
视图:

vue指令大全~~~-LMLPHP

7.v-if
<body>
<!--mvvm里面的v-->
<div id="app">
<p v-if="val=='你好'">
Good boy
</p>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script >
//这是mvvm里面的vm
var vm=new Vue({
el:'#app',
//这是mvvm里面的m
data:{
val:'你好'
}
})
</script> </body>

视图:

vue指令大全~~~-LMLPHP

v-if和v-show的区别,v-show只是hidden,v-if是直接元素消失......

05-11 21:59
查看更多