Vue.js用法详解(3)
3. 模版—render函数
render函数很接近编辑器
render => 选项对象属性
数据对象属性
class: {}, => 绑定class,和v-bind:class一样的API style: {}, => 绑定样式,和v-bind:style一样的API attrs: {}, => 添加行间属性 domProps: {}, => DOM元素属性 on: {}, => 绑定事件 nativeOn: {}, => 监听原生事件 directives: {}, => 自定义指令 scopedSlots: {}, => slot作用域 slot: {}, => 定义slot名称 和组件有关系,插曹 key: "key", => 给元素添加唯一标识 ref: "ref", => 引用信息 2Vue.js的条件、循环语句 2-1条件语句 v-if :根据值的真假,切换元素会被销毁、重建; => 在dom中已消失 v-show :根据值的真假,切换元素的display属性; v-else :条件都不符合时渲染; v-else-if :多条件判断,为真则渲染;
一、V-if
条件判断使用 v-if 指令:
<div id="app"> <p v-if="seen">现在你看到我了</p> <template v-if="ok"> <p>哈哈哈,打字辛苦啊!!!</p> </template> </div> <script> new Vue({ el: '#app', data: { seen: true, ok: true } }) </script>
这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
二、v-else
可以用 v-else 指令给 v-if 添加一个 "else" 块:
随机生成一个数字,判断是否大于0.5,然后输出对应信息:
<div id="app"> <div v-if="Math.random() > 0.5"> Sorry </div> <div v-else> Not sorry </div> </div> <script> new Vue({ el: '#app' }) </script>
三、v-show
我们也可以使用 v-show 指令来根据条件展示元素:
<div id="app"> <h1 v-show="ok">Hello!</h1> </div> <script> new Vue({ el: '#app', data: { ok: true } }) </script>
四、v-else-if
v-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
判断 type 变量的值:
<div id="app"> <div v-if="type === 'A'"> A </div> <div v-else-if="type === 'B'"> B </div> <div v-else-if="type === 'C'"> C </div> <div v-else> Not A/B/C </div> </div> <script> new Vue({ el: '#app', data: { type: 'C' } }) </script>