【发布时间】:2016-02-23 04:47:20
【问题描述】:
在我当前的项目中,我正在使用 TypeScript 开发 Angular。我在路由中使用“Controller as vm”语法,因此我没有在控制器中注入范围服务。
我正在做一些 jQuery 编码,之后我需要做 $scope.$apply() 来运行 Angular 摘要循环。有没有办法在不将$scope 变量注入控制器的情况下做到这一点?
我相信如果我注入 $scope 变量,它将破坏使用“Controller as vm”语法的目的(如果我错了,请纠正我)。
【问题讨论】:
-
注入
$scope。它不会扼杀vm的目的。 -
不,以 Controller 作为语法,
$scope只是一个被注入的依赖项,没有错。 -
当你需要应用时应该注入$scope。但是您可以将 $scope 用作服务,而不要将模型附加到它上面。事实上,注入 Angular 控制器的原因只有一个:当您需要 $scope 服务方法时,如 $apply 或 $watch
标签: javascript angularjs typescript