如何将范围传递给父范围

时间:2015-11-16 13:10:54

标签: angularjs angular-ng-if

ngIf在父范围内创建另一个范围。根据角度文档,正如我从link中理解的那样,在理论上将范围传递到父范围。但在实践中,它没有。我需要将此范围功能传递给父范围。我怎么能这样做。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题(我试过),有很多方法可以解决这个问题。提供替代方案。

方法1:

您可以在ng-if中使用 $ parent ,然后完成剩下的工作。

方法2:

您只需要将结构修改为对象表示法,即{obj.yourval}

<body ng-app="ngAnimate" ng-init="cool.mess='Im removed';checked=true">
   <br/> : {{cool.mess}}
   <br/> Click me: <input type="checkbox" ng-model="checked" /><br/>
  Show when checked:
  <span ng-if="checked" class="animate-if">
   <input type="text" ng-model="cool.mess"/>
  </span>
</body> 

获取抓取 here

方法3

你可以使用ng-hide而不是使用ng-if来解决所有谜团(恕我直言如果你与UI重组没有任何关系,那就是你的朋友。)< / p>

PS:只是四舍五入,文档明确说明如果使用ng-if它会创建一个子范围。所以孩子可以访问父母数据,而不是相反。这就是为什么儿童结构的修改没有反映在父母层面的原因。使用以上任何一种替代方案。