avalon添加子元素时,碰见ms-if会将if块原样输出,求解?

发布于 2022-09-05 03:27:25 字数 2766 浏览 16 评论 0

当点击"添加1"是,显示结果为:

{{ @el.a }}
aaa

想要得到的结果是只得到

aaa

求解!

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
</head>
<body>
<div id="floor" ms-controller="floor">
    <button ms-click="add_floor(2)" >添加2</button>
    <button ms-click="add_floor(1)" >添加1</button>
    <div class="floor" ms-for="el in @items" ms-click>
        <div class="type1" ms-if="@el.type==1">
            {{ @el.a }}
        </div>
    </div>
</div>
<script>
    var floors = avalon.define({
        $id       : 'floor' ,
        items     : [],
        add_floor : function(eq){
            var obj = {
                'type': eq,
                'a'   : 'aaa'

            };
            floors.items.push(obj);
        }
    })
    floors.items.push(
        {
            'type' : '1',
            'a'    : 'aaa'
        }
    );

</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<!--    <script src="avalon2.js"></script>-->
   <script src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
</head>
<body>
<div id="floor" ms-controller="floor">
    <button ms-click="add_floor(1)" >添加1</button>

//???????
    <div class="floor" ms-for="el in @items" ms-visible="el.type==1">
        <div class="type1"  ms-if="el.type==1">
            {{ el.a }}
        </div>
    </div>

    <div class="floor" ms-for="el in @items" ms-visible="el.type==1">
        <div class="type1"  ms-visible="el.type==1">
            {{ el.a }}
        </div>
    </div>

    <div class="floor" ms-for="el in @items" ms-if="el.type==1">
        <div class="type1"  ms-if="el.type==1">
            {{ el.a }}
        </div>
    </div>

    <div class="floor" ms-for="el in @items" ms-if="el.type==1">
        <div class="type1"  ms-visible="el.type==1">
            {{ el.a }}
        </div>
    </div>

</div>
<script>
    var floors = avalon.define({
        $id       : 'floor' ,
        items     : [],
        add_floor : function(eq){
            var obj = {
                'type': eq,
                'a'   : 'aaa'
            };
            floors.items.push(obj);
        }
    })
</script>
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

几味少女 2022-09-12 03:27:25

div class="floor"ms-click去掉即可,另外,模板里的el不需要带@

<div class="floor" ms-for="el in @items">
    <div class="type1" ms-if="@el.type==1">
        {{ el.a }}
    </div>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文