我想知道这是一个错误还是记录在某个地方。似乎将$ element注入由ng-view指令附加的控制器失败。这是一个例子:
的script.js:
{{1}}
答案 0 :(得分:4)
MainCtrl
由$compile
服务注入,该服务提供$element
作为本地服务。 BookCtrl
注入了ngRoute
,$element
没有$compile
作为本地提供。有关ngRoute
注入的本地人的更多信息,请参阅AngularJS $compile API Reference -- controllers。
$scope
注入的当地人是$template
,$resolve
以及ngRoute
地图的其他属性。
locals
文档:
locals
$controller服务使用的本地地图 控制器实例化。
resolve
包含。{1}}locals
地图的已解析值。此外,$scope
还包含:
$template
- 当前路线范围。locals
- 当前路线模板HTML。
$resolve
将被分配到路由范围的resolveAs
属性。你可以覆盖 属性名称,在路由定义中使用$compile
。看到 $routeProvider了解更多信息。
- AngularJS ngRoute $route API Reference
$scope
文档:控制器
控制器构造函数。控制器在预链接阶段之前被实例化,并且可以被其他指令访问(请参阅require属性)。这允许指令彼此通信并增强彼此的行为。控制器可以使用以下本地人:
进行注射(并支持括号表示法)
$element
- 与元素相关的当前范围$attrs
- 当前元素$transclude
- 元素的当前属性对象{0:"first",2:"second",5:"first"};
- 预先绑定到正确的转换范围的转换链接函数: