请问 vue里面怎么v-if 直接就 v-else ,怎么没有v-ifelse
发布于 8 年前 作者 blackjack 13914 次浏览 来自 问答

如标题,怎么实现

14 回复

可以去看一下自定义指令,具体我也是在学习

第二个elseif写在v-else里不就行了么。。。。

v-if
xxxx
v-else
   v-if
   xxx

@artisan 牛气,可以,不过条件多的话很费劲

模板的条件多了感觉挺没意思的,如果条件嵌套比较复杂的话,考虑用 computed 属性,然后判断这个属性吧。

楼上正解,vuejs的计算属性由此而生

不懂大家有没有发现,computed和method其实是一样的,而computed 还不能动态传参数。。。。

多谢各位,我也是最近在看vue,够轻量 感觉不错

@alsotang @klausgao computed和method一个能接受参数 一个不能接受参数,用这两个方法都能实现多条件问题,那computed有什么特殊引用场景啊

@blackjack 在我看来的话,我觉得除去取值方式不说,computed 是 method 的功能子集。

就性能来说的话,vue 知道 computed 依赖哪些属性,所以 computed 依赖的属性不更新时,computed 的值也不会更新。而 method 在每次使用的时候,都需要计算一次(当然这点性能影响不大。

https://cn.vuejs.org/guide/computed.html

至于用哪个,其实可以都用 method。但明显有些场合用 computed 【看起来】更舒服些。比如一个人有 firstname: also, lastname: tang。那么它的fullname,自然而然我们希望是 this.fullname,而不是 this.getFullname()。没有什么本质的区分来决定到底用哪个。

@alsotang 多谢多谢,

跟大神学习了!

参见:条件渲染 —— Vue.js

Vue 2.1支持v-else-if

回到顶部