Vue基本语法
v-bind
我们成功创建了第一个Vue程序,看起来跟渲染一个字符串模板非常类似。但是Vue在背后做了
大量工作。现在数据和DOM已经被建立了关联,所有东西都是响应式的。我们在控制台操作对象属性
,界面可以实时更新
我们还可以使用v-bind来绑定元素特性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h3>干扰对比</h3> <div id="app"> <span v-bind:title="message"> 鼠标悬停几秒查看此处动态绑定的信息! </span> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> <script> var vm = new Vue({ el : "#app", data : { message : "helloVue!" } }); </script> </body> </html>
v-bind 等被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性。它们会在渣染的
DOM 上应用特殊的响应式行为。在这里,该指令的意思是会“将这个元素节点的 title 特性和 Vue 实
例的 message 性保持一致”
如果再次打开浏览器的 JavaScript 控制台,输入 app.message ='新消息',就会再一次看到这个
绑定了 title 特性的 HTML 已经进行了更新。
v-if v-else
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <h1 v-if="type==='A'">A</h1> <h1 v-else-if="type==='B'">B</h1> <h1 v-else-if="type==='C'">C</h1> <h1 v-else>D</h1> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> <script> var vm = new Vue({ el: "#app", data: { type: 'A' } }); </script> </body> </html>
v-for
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <li v-for="items in items"> {{items.message}} </li> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> <script> var vm = new Vue({ el : "#app", data: { items : [ {message : '嘿嘿嘿'}, {message : '哈哈哈'}, {message : '昂昂昂'} ] } }); </script> </body> </html>
v-on
这里的click是vue事件,可以绑定到Vue的methods中的方法和事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <button v-on:click="sayHi">click me</button> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> <script> var vm = new Vue({ el : "#app", data : { message: "小红来啦" }, methods: {//方法必须定义在Vue的methods对象中 sayHi: function (){ alert(this.message); } } }); </script> </body> </html>
点击可实现弹窗
Vue还有一些基本使用方式,具体可以去官方文档查看