Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 继承外部控制器';ng的范围是否包括不提供服务?_Javascript_Angularjs_Angularjs Scope - Fatal编程技术网

Javascript 继承外部控制器';ng的范围是否包括不提供服务?

Javascript 继承外部控制器';ng的范围是否包括不提供服务?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,在AngularJS中,是否可以从包含的部分中继承父控制器的作用域,而不是通过注入的服务传递数据 示例案例: 让我们假设ParentCtrl的作用域看起来像:{testData:'testingstuff'} <div ng-controller="ParentCtrl"> Here we're defined: {{testData}} <div ng-include="'partial.html'"></div> </div>

在AngularJS中,是否可以从包含的部分中继承父控制器的作用域,而不是通过注入的服务传递数据

示例案例:

让我们假设
ParentCtrl
的作用域看起来像:
{testData:'testingstuff'}

<div ng-controller="ParentCtrl">
    Here we're defined: {{testData}}
    <div ng-include="'partial.html'"></div>
</div>

所以这个部分甚至不需要它自己的控制器。如果这是不可能的,并且您只能通过服务在控制器之间传递注入的数据,那么Angular为什么会这样做呢?

在中使用示例Plunkr,我可以从部分中访问父控制器的作用域。例如,将
template1.html
的内容更改为:

Content of template1.html {{ template }}

根据文档,
ngInclude
创建了一个新的范围,这意味着您需要遵守“范围内有一个点”(访问范围上的对象而不是原始值)的最佳实践,以避免断开引用的问题。您可以查看更多信息。

是的,默认情况下它就是这样工作的
ng include
始终创建一个新范围,并:

“子范围”(原型)从其父范围继承属性 范围

就是一个例子

编辑:另外,我刚刚注意到你原来的问题中有一个语法问题。模板应该用单引号括起来。将
更改为

Content of template1.html {{ template }}