我对我的 AngularJS 应用程序有一个想法,我很好奇 AngularJS 社区是否认为这样做可以。简而言之,我正在连接到数据 API 并在页面上显示我的结果。
我创建了一个 AngularJS 服务,它在$rootScope.DataStore
. 我还有一个服务方法,它使用从 API 端点返回的数据更新 DataStore。如果我从我的控制器内部使用 请求“产品”API 端点DataStore.update('products')
,这将$rootScope.DataStore.products
使用我的产品数据进行更新。
现在,在视图/部分中,我需要做的就是ng-repeat="product in DataStore.products"
显示我的数据,而我在哪个控制器范围内并不重要。所以,本质上,我的 DataStore 是我的单一事实来源。
我觉得我从这种方法中获得的好处是易于遵循语义和最少的控制器编码。因此,只要 DataStore 更新,绑定到 DataStore 的任何内容也会更新。
这会给消化周期带来太多负担$rootScope
,还是这只是一种奇怪的方法?或者这是一个非常棒的方式?:) 欢迎任何意见。