JavaScript日记——一个例子学会Vue.js
2017-01-02 09:53
585 查看
大家都知道Vue.js是中国人创造出来的,简单易用,所以必须要支持一下
model改变,view的内容改变,反之亦然
v-if 判断是否显示该dom
v-show 判断是否将该dom的display设为none
v-else if或者show为false时显示该dom
v-for 迭代
v-bind 绑定属性
v-on 绑定方法
不需要太多的解释,直接看代码就知道Vue用法是什么
Vue采用的MVVM设计模式
也就是说model和view绑定model改变,view的内容改变,反之亦然
Vue主要有以下几个关键字
v-model 绑定模型v-if 判断是否显示该dom
v-show 判断是否将该dom的display设为none
v-else if或者show为false时显示该dom
v-for 迭代
v-bind 绑定属性
v-on 绑定方法
我们以一个可查找的信息管理系统为例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="styles/demo.css" /> </head> <body> <div id="app"> <span>key</span> <!-- 绑定model中search.key --> <!-- 内容和下面每一列的数据进行比较 --> <!-- 内容改变,下面的每一列都马上会进行比较 --> <input type="text" v-model="search.key"> <legend> Create New Person </legend> <div class="form-group"> <label>Name:</label> <!-- 绑定model中newPerson.name --> <input type="text" v-model="newPerson.name"/> </div> <div class="form-group"> <label>Age:</label> <!-- 绑定model中newPerson.age --> <input type="text" v-model="newPerson.age"/> </div> <div class="form-group"> <label>Sex:</label> <!-- 绑定model中newPerson.sex --> <select v-model="newPerson.sex"> <option value="Male">Male</option> <option value="Female">Female</option> </select> </div> <div class="form-group"> <label></label> <!-- @click是v-on:click的缩写 --> <button @click="createPerson">Create</button> </div> </fieldset> <table> <thead> <tr> <th>Name</th> <th>Age</th> <th>Sex</th> <th>Delete</th> </tr> </thead> <tbody> <!-- 用v-for迭代,$index为每一个item的索引 --> <!-- v-if判断为true则显示,否则则移除,这里更适合用v-show,v-show并不会移除dom只会将display属性改为none --> <!-- 和搜索框内容进行比较 --> <tr v-for="person in people" v-if="person.name.indexOf(search.key)>=0||person.sex.indexOf(search.key)>=0||person.age==search.key"> <td >{{ person.name }}</td> <!-- :style是v-bind:style的缩写,满足条件则值为前面的,否则为后面的,固定的字符串要用' ',变量不需要用'' --> <!-- v-bind后面还可以接其他的属性例如class,id --> <td :style="person.age>30 ? 'color: red' : ' ' ">{{ person.age }}</td> <!-- v-else元素必须立即跟在v-if或v-show元素的后面——否则它不能被识别 --> <td v-if="person.sex =='Male'">男</td> <td v-else>女</td> <td class="text-center"><button @click="deletePerson($index)">Delete</button></td> </tr> </tbody> </table> </div> </body> <script src="js/vue.js"></script> <script> // 初始化Vue //el获取绑定的标签,#app获取id为app的dom,.app的话则获取class为app的dom //data中为模型 //methods为方法 var vm = new Vue({ el: '#app', data: { search:{ key:"" }, newPerson: { name: '', age: 0, sex: 'Male' }, people: [{ name: 'Jack', age: 30, sex: 'Male' }, { name: 'Bill', age: 26, sex: 'Male' }, { name: 'Tracy', age: 22, sex: 'Female' }, { name: 'Chris', age: 36, sex: 'Male' }] }, methods:{ createPerson: function(){ this.people.push(this.newPerson); // 添加完newPerson对象后,重置newPerson对象 this.newPerson = {name: '', age: 0, sex: 'Male'} }, deletePerson: function(index){ // 删一个数组元素 this.people.splice(index,1); } } }) </script> </html>
不需要太多的解释,直接看代码就知道Vue用法是什么
效果图
代码我已上传到github
相关文章推荐
- 一个例子轻松学会Vue.js
- 一个简单的例子入门Vue.js
- vue.js 利用组件之间通讯,写一个弹出框例子
- [javascript] Box2D JS初探(一个控制小球的游戏例子)。学习用!
- 一个完整的vue.js例子,编辑表格
- 让客户端javascript修改的内容在服务端也能记忆的一个简单例子
- JavaScript--一个用js加密的好玩的东东--俄罗斯方块(就是下面的)
- 以一个最简单的例子把OO的JavaScript说明白
- JavaScript面向对象的一个例子
- 一个JavaScript缩略图的小例子
- 对表格操作的一个javascript例子
- JavaScript学习笔记8--一个文字自动匹配的例子
- 一个很好的javascript框架,prototype.js 1.4,很好的封装了ajax的应用。
- 以一个最简单的例子把OO的JavaScript说明白
- 初步的学会用数组动态添加参数(一个添加存储过程参数的例子)
- 以一个最简单的例子把OO的JavaScript说明白
- 一个很好的JAVASCRIPT例子[转载]
- 结合我的XSLT类的一个例子 - 1 ( js )
- javascript 调用webservice的一个例子
- 关于合成模式的javascript的一个treeview例子