2

我最近开始学习骨干光环,并尝试了一个使用两者的简单应用程序。我有三个小部件,比如 A、B 和 C。现在 A 和 B 发布事件(使用 sandbox.emit),C 订阅它们(使用 sandbox.on)。“A”发布“A.eventA”,“B”发布“B.eventB”。我尝试从小部件 A 发布“B.eventB”,它仍然有效。那么,有没有一种方法可以使用哪些小部件不能发布任何事件,除非有自己的事件?(或者这是允许/预期的行为?)

谢谢。

4

1 回答 1

0

你问的是安全性。Aura 的设计是有一个处理安全的门面。不是publish直接打调解员,而是通过门面调用它。外观首先检查您是否有权发布。

这是来自https://gist.github.com/addyosmani/1518268的示例,它显示了subscribe. 你可以使用类似的东西publish

define([ "../aura/mediator" , "../aura/permissions" ], 
       function (mediator, permissions){

    var facade = facade || {};

    facade.subscribe = function(subscriber, channel, callback){

        // Note: Handling permissions/security is optional here
        // The permissions check can be removed 
        // to just use the mediator directly.

        if(permissions.validate(subscriber, channel)){
            mediator.subscribe( channel, callback );
        }
    }

    facade.publish = function(channel){
        mediator.publish( channel );
    }
    return facade;

});
于 2013-08-22T18:51:52.080 回答