avalon 跨模块通信 ”up!”, “down!”, “all!” 没有效果
avalon跨模块通信 vm1.$fire("down!aaa", "capture"),没有理想效果。
<script>
var vm1 = avalon.define({
$id: "ancestor",
aaa : '1111111111',
click : function() {
avalon.log("向下广播")
vm1.$fire("down!aaa", "capture")
}
})
vm1.$watch("aaa", function(v) {
avalon.log(v)
avalon.log("ancestor.aaa事件被触发了")
})
var vm2 = avalon.define({
$id: "parent",
text : "222222222",
aaa : '3333333333',
click : function() {
console.log("全局扩播")
vm2.$fire("all!aaa", "broadcast")
}
})
vm2.$watch("aaa", function(v) {
avalon.log(v)
avalon.log("parent.aaa事件被触发了")
})
var vm3 = avalon.define({
$id: "son",
click : function() {
console.log("向上冒泡")
vm3.$fire("up!aaa", "bubble")
}
})
vm3.$watch("aaa", function(v) {
avalon.log(v)
avalon.log("son.aaa事件被触发了")
})
</script>
<body class="ms-controller" ms-controller="ancestor">
<h3>avalon vm.$fire的升级版 </h3>
<button type="button" ms-click="click">
capture
</button>
<div ms-controller="parent">
<button type="button" ms-click="click">broadcast</button>
<div ms-controller="son">
<button type="button" ms-click="click">
bubble
</button>
</div>
</div>
</body>
效果如下,并没有向上冒泡,向下广播,是我哪里写错了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论