sar*_*den 8 javascript angularjs angularjs-scope
在AngularJS中,是否可以从包含的部分内部继承父控制器的作用域,而不是通过注入的服务传递数据?
示例案例:
让我们说ParentCtrl范围看起来像:{ testData: 'testing stuff' }
<div ng-controller="ParentCtrl">
Here we're defined: {{testData}}
<div ng-include="'partial.html'"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
内部partial.html:
<em>Inherited: {{testData}}</em>
Run Code Online (Sandbox Code Playgroud)
因此,部分甚至不需要它自己的控制器.如果这是不可能的,你只能通过服务在控制器之间传递注入的数据,为什么Angular会这样做?
是的,这实际上是默认情况下的工作原理. ng-include总是创建一个新的范围和:
"子范围"(原型)从其父范围继承属性.
这是一个示例的plunker.
编辑:另外,我刚刚注意到原始问题中的语法问题.模板应该用单引号括起来.更改<div ng-include="partial.html"></div>到 <div ng-include="'partial.html'"></div>