如何将数据从局部视图传递到主视图?

时间:2014-05-15 08:46:23

标签: javascript angularjs partial angularjs-ng-include

我有一个主视图,其中包含部分内容如下:

 </div>
  <ng-include src="'/public/xyz.html'"></ng-include>
 </div>
 <div> 
   <span>{{abcd.Name}}</span>
 </div>

partial有一个变量,它会在点击一个元素时填充,我需要将该数据从partial传递给parent。 该变量在部分控制器中填充为:

$scope.$parent.abcd = {"Name":"xyz"}

但是当我尝试在主视图上访问它时它不存在。

如何在父母中访问它?

1 个答案:

答案 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 =从部分发送的项目数组。