首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主干-aura事件发射

主干-aura事件发射
EN

Stack Overflow用户
提问于 2013-05-22 22:32:06
回答 1查看 323关注 0票数 2

我最近开始学习backboneaura,并尝试了一个使用这两种语言的简单应用程序。我有三个小部件,比如A、B和C。现在A和B发布事件(使用sandbox.emit),C订阅它们(使用sandbox.on)。'A‘发布"A.eventA“,'B’发布"B.eventB”say。我试着从小部件A发布"B.eventB“,它仍然可以工作。那么,有没有一种方法可以让小部件除了自己的事件之外不能发布任何事件呢?(或者这是允许的/预期的行为吗?)

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-23 02:51:52

你问的是安全问题。Aura的设计是要有一个处理安全性的外观。您可以通过外观调用中介器的publish,而不是直接调用它。facade首先检查您是否有发布的权限。

这里有一个来自https://gist.github.com/addyosmani/1518268的例子,它展示了subscribe的安全性。您可以对publish使用类似的东西。

代码语言:javascript
复制
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;

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16694533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档