【发布时间】:2013-05-20 07:08:56
【问题描述】:
我对我的 AngularJS 应用程序有一个想法,我很好奇 AngularJS 社区是否会认为这样做可以。简而言之,我正在连接到数据 API 并在页面上显示我的结果。
我创建了一个 AngularJS 服务,它在 $rootScope.DataStore 上创建一个数据存储。我还有一个服务方法,它使用从 API 端点返回的数据更新 DataStore。如果我使用 DataStore.update('products') 从控制器内部请求“产品”API 端点,这将使用我的产品数据更新 $rootScope.DataStore.products。
现在,在视图/部分中,我需要做的就是说 ng-repeat="product in DataStore.products" 来显示我的数据,而我所在的控制器范围无关紧要。所以,从本质上讲,我的 DataStore 是我的单一来源真相。
我觉得从这种方法中获得的好处是易于遵循语义和最少的控制器编码。因此,只要 DataStore 更新,任何绑定到 DataStore 的内容也会更新。
这是否会给$rootScope 摘要循环带来过多的负担,或者这只是一种奇怪的方法?或者这是一个非常棒的方式? :) 欢迎任何 cmets。
【问题讨论】:
标签: javascript html angularjs angularjs-scope