1. v-if 实现了真正的 条件渲染, 条件为真时, 节点被创建, 相应的监听函数也会生效, 条件为假时, 节点被销毁, 触发事件监听函数不会生效. 而 v-show 只是使用了 display:none , 其元素节点始终在 dom 树中, 不会被销毁和重建. 如下所示, 按钮 A 使用了 v-if , 点击以后 dom 树中的相应节点会被创建或销毁, 而 按钮 B 使用了 v-show , 它的所控制的 html 元素始终在 dom 树中, 不会被销毁.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<title>Vue Test</title>
</head>
<body>
<div id="app">
<input type="button" value="A" v-on:click="clickA" />
<p v-if="a">{{ a }}</p>
<input type="button" value="B" v-on:click="clickB" />
<p v-show="b">{{ b }}</p>
</div>
<script>
var vApp = new Vue({
el: "#app",
data: {
a: true,
b: true
},
methods: {
// 点击相应的按钮, 改变a, b的值, 观察v-if 和 v-show的区别.
clickA: function () { this.$data.a = !this.$data.a },
clickB: function () { this.$data.b = !this.$data.b },
}
});
</script>
</body>
</html>

2. 我们观察一下他们在浏览器中的执行情况, 在不点击时, 两个 p 标签 都是正常显示的; 两个都点击后, 在页面上就消失了, 不过使用了 v-if 的标签消失得更"彻底". 使用了 v-show 的标签仍在, 但会多一个属性: style="display: none".

    

最新文章

  1. socket.io与redis构建实时推送
  2. SQL Server 2014如何提升非在线的在线操作
  3. information_schema系列之字符集校验(CHARACTER_SETS,COLLATIONS,COLLATION_CHARACTER_SET_APPLICABILITY)
  4. 你不得不知道的HTML5的新型标签
  5. oracle sqlplus常用命令
  6. box2dweb之关节joint(连接器)
  7. RabbitMQ在CentOS上的简单安装配置
  8. Android判断网络是否已经连接
  9. lex&amp;yacc2
  10. 分布式文件系统glusterfs安装步骤
  11. mybatis的decimal精度缺失
  12. zencart 自定义函数
  13. Easy UI下拉列表默认选中(多行)与为文本框赋值
  14. JS如何判断滚动条是否滚到底部
  15. TypeScript之interface初探
  16. 谈谈我们对userAgent的看法,为什么爬虫中需要userAgent?
  17. WPF自定义行为Behavior,实现双击控件复制文本
  18. sicily 1051. Biker&#39;s Trip Odomete
  19. Django之MTV
  20. python3----datetime模块分析

热门文章

  1. 在Linux下使用rm -rf /*后会怎样?
  2. SpringMVC和AJAX交互
  3. Notepad++格式化xml(转)
  4. JAVA类定义的修饰
  5. DP&amp;图论 DAY 7 上午
  6. 用JSON文本动态创建DataGrid
  7. manage.py migrate 报错
  8. intellij idea如何将web项目打成war包
  9. Hive的内部表和外部表
  10. SpringCloud简历模板