我有一个主视图,其中包含部分内容如下:
</div>
<ng-include src="'/public/xyz.html'"></ng-include>
</div>
<div>
<span>{{abcd.Name}}</span>
</div>
partial有一个变量,它会在点击一个元素时填充,我需要将该数据从partial传递给parent。 该变量在部分控制器中填充为:
$scope.$parent.abcd = {"Name":"xyz"}
但是当我尝试在主视图上访问它时它不存在。
如何在父母中访问它?
答案 0 :(得分:0)
该问题的解决方案之一是,我们可以使用AngularJs中的$ emit服务从子节点向父节点发出值,如下所述。
在偏见中:
$ scope.abcd = {&#34; Name&#34;:&#34; xyz&#34;}; //需要向父范围指示的对象
$ scope。$ emit(&#34; setabcd&#34;,[$ scope.abcd,....]);
其中&#34; setabcd&#34; =发射器的名称。用户定义的名称。我们可以使用任何唯一名称。 ... =要通知父范围的对象或变量。
在控制器中:
$ $范围上。(&#34; setabcd&#34;,功能(事件,参数){$ scope.abcd = ARGS [0]});
其中&#34; setabcd&#34; =发射器的名称。名称应与partials中提到的相同。 args =从部分发送的项目数组。