avalon2 嵌套使用 ms-controller

发布于 2022-09-03 18:59:28 字数 47 浏览 12 评论 0

在 avalon2 中如何嵌套使用 ms-controller, 提取公用方法。

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

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

发布评论

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

评论(1

酒解孤独 2022-09-10 18:59:28

最好分为两层,第一层是放在body上,因为avalon2默认从body开始扫描。然后它上面主要用路由相关的东西。第二层是动态添加的VM

最近为普通VM也加上 onReady与onDispose

http://avalonjs.coding.me/api...

<!DOCTYPE html>
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src='../dist/avalon.js'></script>
        <script>
            var vm = avalon.define({
                $id: 'test',
                aaa: 'top',
                bbb: 'bbb1',
                change: function () {
                    vm.aaa = 'ddd'
                },
                ccc: 'ccc2'
            });
            var sub = avalon.define({
                $id: 'sub',
                aaa: 111,
                ddd: 333
            })
            sub.$watch('onDispose', function () {
                delete avalon.scopes[vm.$id]
                delete avalon.vmodels[vm.$id]
            })
            setTimeout(function () {
                setTimeout(function () {
                    document.querySelector('[ms-controller="sub"]').textContent = ""
                }, 3000)
                sub.aaa = 999
                vm.aaa = 888
            }, 3000)
        </script>
    </head>
    <body>
        <div ms-controller="test">
            <div>{{@aaa}}</div>
            <div ms-controller="sub" style="color: red">{{@aaa}}</div>
            <div>{{@aaa}}</div>
        </div>
    </body>
</html>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文