2015-03-02 44 views
0

我想知道什么是让应用的不同部分彼此交互的首选方式。什么是使angularjs应用程序的不同部分彼此交谈的首选方法?

例如,假设我们有一个指令A,它在用户的购物篮中显示产品。该指令可以访问允许对项目执行CRUD操作的持久性服务。

我们还可以说我们有一个指令B,它显示一般的信息。

现在用户决定从他的购物篮中删除一件商品。是否可以接受,使其发布事件这样?:

$scope.$emit("item-deleted"); 

,然后让B监听此事件类型:

$scope.$on("data-received", function(event, next, current) { 
    // show up and tell "item deleted succesfully"  
}); 

是实现结果的好方法吗?它绝对在其他框架和UI开发中。如果这是一种可行的方式,我只是在怀念。

谢谢

+0

事件和服务都是可能的,所以上面的解决方案很好。 – 2015-03-02 09:58:26

+0

如果发生事件,则必须将两个指令保留在同一作用域层次结构中 – khanmizan 2015-03-02 10:15:17

回答

0

创建指令B中的服务,将用于一般信息提供数据。 将该服务注入到指令A的基础服务中,然后用适当的消息调用该服务。

由于angularjs的双向数据绑定,指令A应自动显示此数据。

+0

与消息队列类似。推进到A和B是必然的吗? – nourdine 2015-03-02 09:58:23

+0

不,只需拨打服务A的服务B. – khanmizan 2015-03-02 10:17:13

相关问题