我有一个角度控制器(TimeCtrl)和一个工厂(DataService)来管理其他控制器的数据。
在TimeCtrl中有一些变量,如$ scope.dateFrom和$ scope.dateTo。我想让它们与DataService(wacht.dateFrom和wacht.dateTo)中的相应变量共享一个内存空间。
我不想拥有多个观察程序,它会在DateFrom输入中查找更改以在DataService中更改它。
简而言之:var应该与另一个共享它的值,没有同步功能。
有解决方案吗?
像
这样的事情$scope.dateTo = DataService.getWacht().dateTo = '';
TimeCtrl中的不像预期的那样工作。
感谢您的帮助。
答案 0 :(得分:1)
如果您使用object并将其指定为控制器和工厂实例上的属性,则非常简单。
你可以这样做:
angular
.module('app', []);
angular
.module('app')
.controller('Example', function (exFactory) {
this.obj = exFactory.obj;
});
angular
.module('app')
.factory('exFactory', function () {
return {
obj: {
x: 0
}
};
});
有关完整示例,请查看此小提琴:https://jsfiddle.net/rnvLerqj/