是的,这里有很全的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>
视图:
这里的v-text是偏向于文本的,如果你将 val:‘你好‘改成val:‘<p style="color:red">你好</p>‘
视图是
所以接下来就是介绍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>
视图:
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:18 }, { name:‘rose‘, age:17 } ] } }) </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也是一样的视图:
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>
视图:
v-if和v-show的区别,v-show只是hidden,v-if是直接元素消失......
原文地址:https://www.cnblogs.com/antyhouse/p/8971647.html
时间: 2024-10-16 14:47:37