vue指令使我们入手使用vue的桥梁,没有这些基石,一切高级应用都是空话。
1.【v-text、v-html】
v-text:用于绑定文本
v-html:用于绑定html
姓名:
姓名:{{Name}}
-------->
姓名:Wangxc
姓名:Wangxc
20
1.{{Name}}这种学法和v-text的作用是相同的,用于绑定标签的text属性。如果标签没有text属性,该绑定会失效,比如在一个文本框上面使用v-text时没有效果的。
2.从结果看出,v-html绑定后会覆盖原来标签里面的内容,此处是覆盖而非append。
3.对于v-html应用时要慎重,在网站上会动态渲染任意html有一定的危险存在,因此容易导致XSS跨站脚本攻击。所以最好是在新任的网址上面使用。
4.v-text和v-html绑定都是单向的,只能从Model到View的绑定,不能实现View到Model的更新。
2.v-model指令
v-model实现双向绑定,vue限定只能对表单控件进行绑定,常见的由input、select、textarea等。
编辑姓名:
姓名:{{Name}}
编辑备注:
备注:{{Remark}}
学生爱好:{{Hobby}}
户籍:{{Huji}}
3.v-if、v-else指令
v-if和v-else在使用条件运算符判断时常用,需要说明的是,v-if可以单独使用,但是v-else的前面必须有一个v-if的条件或v-show指令。
这里的v-else可以不写,expression表达式是一个返回bool类型的属性或者表达式。
姓名:
是否已婚:if="IsMarry">是否
大人or小孩:if="Age>18">大人小孩
单位:{{School}}
//--------->
姓名:wangxc
是否已婚:是
大人or小孩:大人
单位:欣网
4.v-show指令
v-show指令表示根据表达式的bool值来决定是否显示该元素。如果bool是false,对应的dom标签还是会渲染到页面上,只是css的display设为none而已,而如果用v-if,bool值为false时整个dom树都不会被渲染到页面上。从这点来说,如果需求是需要经常切换元素的显示和隐藏,使用v-shew效率更高,而如果只做 一次条件判断,则使用v-if更加合适。
v-show常和v-else 一起使用,表示如果v-show条件满足则显示当前标签,否则显示v-else标签。
姓名:
是否已婚:是
//----------->
姓名:Wangxc
是否已婚:
5.v-for指令
v-for指令需要以item in items 形式的特殊语法,常用来绑定数据对象。
- for="value in nums">{{value}}
//-------------->
除基础数据之外,还支持json数组的绑定:
- for="item in items">姓名:{{item.Name}},年龄:{{item.Age}}
//---------->
姓名:呵呵,年龄:20
姓名:虫虫,年龄:25
在v-for里面,可以使用标签渲染多个元素块,下面基于bootstrap样式使用v-for、v-if、v-else等实现一个简单的demo。
实现效果:
v-for指令除了支持数据对象的迭代以外,还支持普通json对象的迭代,如:
- for="(item,key) in items">{{key}}:{{item}}
- for="(item,key,index) in items">{{index}}.{{key}}:{{item}}
//------------------->
Name:Wangxc
Age:20
Company:欣网
0.Name:Wangxc
1.Age:20
2.Company:欣网
6.v-once指令
v-once表示只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。什么意思呢?来看demo:
姓名:
年龄:{{Age}}
学校:{{School}}
从demo看出,只要使用v-once指令的,View和Model之间除了初次渲染同步,之后便不再同步,而同一次绑定里面没使用v-once指令的还是会继续同步。
7.v-bind指令
对于html标签的text、value等属性,Vue里面提供了v-text、v-model去绑定。但是对于除此之外的其他属性呢,这就要用到接下来要讲的v-bind指令了。v-bind的作用是绑定除了text、value之外的其他html标签属性,常见的比如class、style、自定义标签的自定义属性等。
姓名:
是否女性:="IsBack">是
岗位等级:aa
//--------------------->
姓名:Wangxc
是否男性:是
岗位等级:aa
需要说明的是同一个标签里面的同一个属性,可以既有绑定的写法,也有静态的写法,组件会自动帮你合并,比如上文中的class属性。
8.v-on指令
在vue中v-on指令用来绑定标签的事件,语法和v-bind类似。
v-on:event="expression",这里的event可以是js里的常用事件,也可以是自定义的事件。
姓名:
年龄:{{Age}}
//------------>
这段代码是一个最简单的应用,直接在click事件里面执行逻辑,改变变量的值。
除了直接在标签内写处理逻辑,还可以定义方法事件处理器:
姓名:
年龄:{{Age}}
9.实现增删改查
10.VUE常用指令 实现表格分页
姓名 | 年龄 | 学校 | 备注 |
---|---|---|---|
{{row.Name}} | {{row.Age}} | {{row.Job}} | {{row.Remark}} |
本文原创出处:http://www.cnblogs.com/landeanfen/