javascript - avalon2 嵌套使用 ms-controller

查看:77
本文介绍了javascript - avalon2 嵌套使用 ms-controller的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

最好分为两层,第一层是放在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>

这篇关于javascript - avalon2 嵌套使用 ms-controller的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆