Vue.js从零开始

    xiaoxiao2021-03-25  49

    使用Vue的过程就是定义MVVM各个组成部分的过程的过程。 1. 定义View 2. 定义Model 3. 创建一个Vue实例或”ViewModel”,它用于连接View和Model <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--这是我们的View--> <div id="app"> {{ message }} </div> </body> <script src="js/vue.js"></script> <script> // 这是我们的Model var exampleData = { message: 'Hello World!' } // 创建一个 Vue 实例或 "ViewModel" // 它连接 View 与 Model new Vue({ el: '#app', data: exampleData }) </script> </html> 创建Vue实例时,需要传入一个选项对象。(包括数据,挂载元素,方法,模生命周期钩子等) 在实例中,选项对象的el属性指向view;data属性指向Model。 ## 双向绑定示例 ## v-model 在表单元素上实现双向数据绑定 <!-- view 层> <div id="app"> <p>{{message}}</p> <input type="text" v-model={{message}}></input> </div> ## vue.js的常用指令 ## vue.js指令以v- 开头,作用于HTML元素,将指令绑定在HTML元素上时,会给目标元素添加一些特殊的行为—special attribute - v-if - v-show - v-else - v-for - v-bind - v-on ### v-if指令 ### 根据表达式的真假来删除和插入元素 v-if=“expression” expression 返回boolen值,Exp <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="app"> <h1>Hello, Vue.js!</h1> <h1 v-if="yes">Yes!</h1> <h1 v-if="no">No!</h1> <h1 v-if="age >= 25">Age: {{ age }}</h1> <h1 v-if="name.indexOf('jack') >= 0">Name: {{ name }}</h1> </div> </body> <script src="js/vue.js"></script> <script> var vm = new Vue({ el: '#app', data: { yes: true, no: false, age: 28, name: 'keepfool' } }) </script> </html> ![这里写图片描述](http://images2015.cnblogs.com/blog/341820/201606/341820-20160627065313781-1005102718.png) 注意:v-if指令是根据条件表达式的值来执行元素的插入或者删除行为。 ## v-show指令 ## 也是条件渲染,但元素始终会被渲染到HTML,他只是简单的为元素设置CSS的style属性(display:none) <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="app"> <h1>Hello, Vue.js!</h1> <h1 v-show="yes">Yes!</h1> <h1 v-show="no">No!</h1> <h1 v-show="age >= 25">Age: {{ age }}</h1> <h1 v-show="name.indexOf('jack') >= 0">Name: {{ name }}</h1> </div> </body> <script src="js/vue.js"></script> <script> var vm = new Vue({ el:'#app', data:{ yes:true, no:false, age:28, name:'keepfool' } }) ## v-else ## 用v-else为v-if/v-show添加一个’else块’ 必须立即跟在v-if/v-show元素后面,否则不能被识别 <div id="app"> <h1 v-if="age>=25">Age:{{age}}</h1> <h1 v-else>name:{{name}}</h1> </div> <script src="js/vue.js"></script> <script> var vm = new Vue({ el:'#app', data:{ age:24; name:'wangkw' } }) </script> v-else元素是否渲染在HTML中,取决于前面使用的是v-if还是v-show指令。 ## v-for指令 ## 基于一个数组渲染一个列表,和JS遍历语法相似 v-for = “item in items ” items是一个数组,item是当前被遍历的数组元素 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> <style type="text/css"> table{ width: 400px; border:solid 1px gray; } thead{ background-color:#00CC99; color: #fff; } tbody tr:nth-of-type(odd){ background-color: #fff; } tbody tr:nth-of-type(even){ background-color: #ccc; } </style> </head> <body> <div id="app" > <table > <thead> <tr> <td>Name</td> <td>Age</td> <td>Sex</td> </tr> </thead> <tbody> <tr v-for="person in people"> <td>{{person.Name}}</td> <td>{{person.Age}}</td> <td>{{person.Sex}}</td> </tr> </tbody> </table> </div> <script src="http://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script> <script type="text/javascript"> var vm = new Vue({ el:"#app", data:{ people:[{ Name:"王楷文", Age : 22, Sex : 'male' },{ Name:"郑佳琦", Age:28, Sex:'female' },{ Name:"hehe", Age:200, Sex:'bannanbunv' }] } }) </script> </body> </html> ## v-bind指令 ## 可在其名称后面带一个参数,中间放一个冒号隔开,这个参数通常是HTML元素的特性 attribute 例如:v-bind:class {{n+1}} <script src="http://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script> <script type="text/javascript"> var page = new Vue({ el:'#app2', data:{ activeNumber:1, pageCount:10 } }) </script>

    ## v-on指令 ## 监听DOM事件,<a v-on:click="dosomething"> 有两种形式调用方法:绑定一个方法(让事件指向方法的引用),或者使用内联语句。

    Greet

    Hi

    var vm = new Vue({ el: '#app', data: { message: 'Hello, Vue.js!' }, // 在 methods 对象中定义方法 methods: { greet: function() { // // 方法内 this 指向 vm alert(this.message) }, say: function(msg) { alert(msg) } } }) “` Vue.js为最常用的两个指令v-bind和v-on提供了缩写方式。v-bind指令可以缩写为一个冒号,v-on指令可以缩写为@符号。 {{ n + 1 }} {{ n + 1 }}

    Greet

    总结

    new一个vue对象的时候设置属性,三个重要的分别是data,methods,watchdata 代表vue对象的数据,methods代表vue 对象的方法,watch设置了对象监听的方法vue对象通过html指令进行关联import指令包括:v-text渲染数据 v-if控制显示 v-on绑定事件 v-for循环渲染等
    转载请注明原文地址: https://ju.6miu.com/read-37471.html

    最新回复(0)