javascript - avalon2 嵌套使用 ms-controller
本文介绍了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屋!
查看全文