1.v-for和v-if的优先级哪个更高

<!DOCTYPE html>
<html>

<head>
      <title>Vue事件处理</title>
</head>

<body>
    <div id="demo">
        <h1>v-for和v-if谁的优先级高?应该如何正确使用避免性能问题?</h1>
        <p v-for="child in children" v-if="isFolder">{{child.title}}</p>
        <!--     <template v-if="isFolder">
                  <p v-for="child in children">{{child.title}}</p>
            </template> -->
    </div>
      
    <script src="vue.js"></script>
      
    <script>
        // 创建实例
        const app = new Vue({
            el: '#demo',
            data() {
                return {
                    children: [
                        { title: 'foo' ,isshow:true},
                        { title: 'bar' ,isshow:false},
                    ]
                }
            },
            computed: {
                isFolder() {
                    return this.children && this.children.length > 0
                }
            },
        });
        console.log(app.$options.render);

    </script>
</body>

</html>

同级时渲染函数

        (function anonymous(
        ) {
        with(this){
            return _c('div',{attrs:{"id":"demo"}},
            [_c('h1',[_v("v-for和v-if谁的优先级高?应该如何正确使用避免性能问题?")]),
                _v(" "),_l((children),function(child){
            return (isFolder) ?_c('p',[_v(_s(child.title))]):_e()})],2)}
        })

外层为v-if内层为v-for渲染函数

        (function anonymous(
        ) {
            with (this) { return _c('div', { attrs: { "id": "demo" } }, 
            [_c('h1', [_v("v-for和v-if谁的优先级高?应该如何正确使用避免性能问题?")]),
             _v(" "), _v("\n            "), 
             (isFolder) ? [_v("\n                  "), _l((children), function (child) { return _c('p', [_v(_s(child.title))]) })] :+_e()
            ], 2) }
        })

v-for的优先级比较高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值