如何通过Angular中的服务在不同控制器之间共享模型?

时间:2016-05-19 16:34:42

标签: angularjs

我是Angular的新手,我想分享我的问题,以防万一有人可以帮助我或指导我 找出最佳解决方案。

如何通过服务或工厂在不同控制器之间共享来自承诺的检索数据(只能调用一次)?

我想我应该避免,如果有可能发出或广播更多,超时或类似

无论如何,我确信它必须存在一种模式来正确地执行此操作

service('Service', function(...) {

    function ----------(....) {
       return myasyncfunction('..............')
       .then(function(data) {
           return data;
         });
     }

     function getSomething {
       return some operation with DATA;
     }


     return {
     getSomething: getSomething
     }

}

.controller('CtrlA', function (...) {

  Service.getSomething ---> Doesn't work if don't put a delay

}

.controller('CtrlB', function (...) {

}

我的代码总是依赖于我在开始时需要一个promises来检索数据的事实。我没有 知道创建一个我不需要手表,超时或发射/广播的架构的正确方法。上。 我怀疑有可能以另一种方式做事

承诺应该只被调用一次

提前谢谢

1 个答案:

答案 0 :(得分:0)

我还应该使用服务返回的承诺(在你的控制器内).then,如: - :

   Service.getSomething.then(function(result){
     //your promise resolve code
   },function(error){
    //your promise reject code
   })