AngularJS使用$rootScope作为数据存储
我有一个想法,我的AngularJS应用程序,我很好奇,如果AngularJS社区会考虑这样做这个方法…
总之,我连接到一个数据API,并在页面上显示我的结果。我创建了一个角度服务,在$ rootScope.DataStore上创建一个数据存储。我还有一个服务方法,用从API端点返回的数据更新DataStore。如果我使用DataStore.update(‘products’)从我的控制器中请求“产品”API端点,这将更新$ rootScope.DataStore.products与我的产品数据。现在,在view / partial中,我需要做的是说ng-repeat =“DataStore.products中的产品”来显示我的数据,而不管我在什么控制器范围。因此,本质上我的DataStore是我唯一的真理来源。 我觉得从这种方法获得的是容易遵循语义和最小控制器编码。所以,任何时候DataStore更新,绑定到DataStore的任何东西也会得到更新。 这会给$ rootScope的摘要周期带来太多的负担,还是这只是一个奇怪的方式呢?或者是一个完全真棒的方式? :)欢迎任何意见。
这个问题在
AngularJS FAQ引用:
看来,团队鼓励使用$ rootScope这种方式,与这个警告:
这不会对$ digest循环(它实现基本的脏检查来测试数据突变)加载太多,这不是一个奇怪的方式来做事情。 编辑:有关性能的更多详细信息,请参阅此答案从Misko(AngularJS dev)这里在SO:AngularJS : How does databinding work?具体注意性能部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |