AngularJS指令:如何在ng-repeat中动态更改元素html
AngularJS directives: How do I dynamically change the element html in an ng-repeat?
我有一个角度指令,我正在对其应用ng重复。该指令的目的是将自身换成基于传递到原始指令的值的不同指令:
<content-type-directive type="item.type" ng-repeat="item in items"></content-type-directive>
成为
<type1-specific-directive></type1-specific-directive>
<type2-specific-directive></type2-specific-directive>
<type1-specific-directive></type1-specific-directive>
<type1-specific-directive></type1-specific-directive>
...
完整示例:http://jsfiddle.net/qPGZ8/6/
如果第二个指令的 html 可以在第一个指令的包装元素中呈现,这将很简单,但在这种情况下,我需要它来实际替换原始项目。
这与在指令中自定义模板有关
在 Misko 的回答中,他解释了使用 element.replaceWith() 来交换原始 html。当项目不在 ng 重复中时,这工作正常,但在 ng 重复中,它会破坏 ng-repeat 使用新元素更新自身的能力。
它与错误 https://github.com/angular/angular.js/issues/2151 有关。升级到最新版本1.2.0
将修复它。
顺便说一句,按钮应该放在控制器的范围内。希望这是一个错字。
演示
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 将动态元素绑定到函数;只剩下一个绑定
- 关于动态元素中循环中的事件
- 对动态元素使用.on()和e.stopPropagation()
- 只删除javascript中的1个动态元素
- 删除在加载dom之后创建的动态元素
- 从服务器和/或客户端加载动态元素的典型技术是什么
- IE7/8中的jQuery动态元素错误
- Jquery动态元素选择器
- AnguarJS$编译的动态元素
- 使用jQuery使动态元素可选择
- jquery在动态元素上调用日期选择器
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 如何使用jQuery唯一地识别具有相同id的类似动态元素
- 将单击处理程序绑定到动态元素
- 为动态元素附加事件处理程序
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- jQuery中的目标动态元素
- 将动态元素/行添加到 Angularjs 中的多维 Json 数组中
- Jquery 单击函数不适用于动态元素