前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue.js的条件渲染,其实就是模板里面写if else

vue.js的条件渲染,其实就是模板里面写if else

作者头像
web前端教室
发布2018-02-07 09:56:28
2.8K0
发布2018-02-07 09:56:28
举报
文章被收录于专栏:web前端教室web前端教室

模板里面写逻辑判断在早期只有二种方法,一是用什么插件来搞;二是自己写一个模板然后正则匹配判断结果去替换字符串。其实这二种方法都是一样的,因为什么模板的插件十有八九也得自己来写。

烦的很,所以早期模板的功能也很弱,基本上只能是view的展现而已。

////////

vue的条件渲染很好用,至少它在模板语言里实现了逻辑判断。别的不说, 我在2013的前后使用过Handlebars这个模板,它的if什么的功能就很弱,弱到几乎等于没有。

这里提一下渲染这个词,其实就是生成dom节点。跟浏览器的渲染过程基本没关系,同学们不要一看到前端渲染就觉得很高大上,其实就是createElement一些dom,然后appendChild到一些dom上去而已。要不就是删除一些再生成再添加,反正就这么回事。

我如果说错了,欢迎来喷我,Orz

////////

回说vue的条件渲染,它使用的指令是v-if,后面还有个v-else,这二个要写到dom上,然后v-else的dom必须跟着v-if,形成一个if else的判断结构。

<div v-if="Math.random() > 0.5">
  Now you see me
</div>
<div v-else>
  Now you don't
</div>

还有v-else-if,也得紧跟着,中间不能有其它元素,

<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>

////////

vue的教程写到这里,感觉vue的学习曲线应该是比react要缓和一些。就是很直观,很“自然语言”。

看资料说,v-if的切换消耗资源会多些,也许这里是一个web性能优化的点。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档