【发布时间】:2013-03-08 17:10:39
【问题描述】:
将“当前”$scope 传递给 AngularJS 服务是否正确?
我有一个 $service 知道它只被一个控制器使用的情况,我想在 $service 方法本身中引用控制器的范围。
这哲学上正确吗?
或者我最好将事件广播到 $rootScope,然后让我的控制器监听它们?
【问题讨论】:
-
您能否更具体地告诉我们您正在尝试做什么?也许根本不需要将范围推到服务上?
-
嗯,这并不难。简单地说,我希望能够访问
$scope属性并在需要时调用$scope.$apply。 -
另外,假设我想将来自 $service 的更改应用到 $scope。希望现在更清楚了。
-
我建议您将希望服务访问的 $scope 属性放入服务本身(而不是将它们放在控制器中)。服务是比控制器更好的存储模型/数据的地方。
-
@MarkRajcock 我也在尝试理解这个问题。目前我只是调用一个服务并将提供的数据附加到控制器的
$scope...控制器如何直接访问服务中的数据并将其传递给视图而不这样做?
标签: angularjs data-binding angularjs-scope angular-services