【发布时间】:2016-02-22 22:58:44
【问题描述】:
我将我的数据存储在 Angular 服务中(以在控制器之间共享)并提供更新它的功能:
.factory('DataManager', function($rootScope){ var _json = {init: '来自 DataManager'}; 返回 { json: _json, changeTo: 函数 (newVal) { _json = newVal; console.log("改成", _json); } }; })然后我只需将数据拉入控制器:
.controller('MainCtrl', function(DataManager){ var MC = 这个; MC.json = 数据管理器.json; MC.changeTo = 数据管理器.changeTo; })问题是 - 当MC.changeTo 函数被调用时,它确实更新了服务内部的_json 变量,而不是在控制器中!
这里是JSbin 说明问题。
知道我在这里做错了什么吗?
【问题讨论】:
-
你的愿望是什么?
-
@ShailendraSharma 拥有可扩展的数据存储架构并避免存储在控制器中。
-
你能不能把它放到plunker,我工作时jsbin被禁用了
-
你基本上有
MC.json = object1->changeTo(object2)->_json = object2。
标签: javascript angularjs architecture angularjs-scope