我的目标是访问父$scope变量
这篇文章对我帮助很大,但我不知道如何在实际情况下做到这一点。当我在child html中声明控制器时,它抛出了一个错误:
areq?p0=ParentController&p1=not a function, got undefined
我的项目看起来像Plunker
发生此错误是因为嵌套的应用程序声明吗?
$scope
的原型通常相互继承。引用wiki:
在AngularJS中,子作用域通常原型继承其父作用域。该规则的一个例外是使用scope的指令:{…}——这会创建一个不典型继承的"隔离"作用域。(和带transclusion的指令)在创建"可重用组件"指令时经常使用此构造。在指令中,默认情况下直接使用父作用域,这意味着在指令中更改的来自父作用域的内容也将在父作用域中更改。如果设置scope:true(而不是scope:{…}),则原型继承将用于该指令。
这意味着,假设您没有传递scope: { ... }
,则可以直接访问父作用域上的属性。
因此,例如,如果父作用域具有x: 5
属性,您可以简单地使用$scope.x
访问它。