Chr*_*ris 5 javascript angularjs angularjs-ng-repeat angularjs-ng-transclude
我们正在将我们的应用程序升级到Angular 1.3.0.在这样做的过程中,我们遇到了一些问题,其中大部分问题似乎归结为ngRepeat中ngTransclude的行为.
我们有一个指令重复一堆项目,周围有一个容器,但不拥有该容器的子容器.例如,这是一个简化的例子:
<div ng-controller="myController">
There are {{items.length}} items.
<div my-directive items="items">
This item's name is {{item.name}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在内部,该指令包含<li ng-repeat="item in items" ng-transclude></li>其中的内容.
在更新之前,这很好.重复的,被转换的元素位于继承自ngRepeat创建的范围的范围内.从更新开始,这些项目都在一个继承自控制器的范围内,据我所知,没有办法访问由ngRepeat创建的范围.
这里有两个JS Bin示例:
我怎样才能在Angular 1.3.0中实现旧的行为或其相似之处?如果这是ngTransclude的预期行为,我怎么能重复一堆子节点而不知道它们是什么?
https://github.com/angular/angular.js/issues/8182
1.3 版本决定 ng-trasinclude 不会从指令中提取范围。链接页面上有一个解决方法,
https://github.com/angular/angular.js/issues/7874 https://github.com/angular/angular.js/issues/7874#issuecomment-47647528
这是预期的行为。
| 归档时间: |
|
| 查看次数: |
3026 次 |
| 最近记录: |