使用Angular和ng repeat将Attributes添加到HTML DIV中
Using Angular and ng-repeat to add Attributes to an HTML DIV
我们使用AngularJS,我们希望使用ng repeat创建一系列HTMLdiv,每个div具有不同的HTML属性。
例如,我们有下面的列表,表示我们希望创建的DIV
{"id":"year","class":"zone editable","contenteditable":"true","html":""},
{"id":"analytics-image","class":"zone","html":""}
{"id":"title","class":"zone","html":"Credit Assessment"},
并希望创建以下HTML
<div id="year" class="zone editable" contenteditable="true"></div>
<div id="analytics-image" class="zone"></div>
<div id="title" class="zone">Credit Assessment</div>
我有以下Javascript
<div ng-repeat="item in items">{{item.html}} </div>
其中items是上面示例中的键值对。
任何帮助都非常感谢
最灵活、最干净的方法是创建非常简单的指令来创建必要的属性:
.directive('attrs', function() {
return {
link: function(scope, element, attrs) {
var attrs = angular.copy(scope.$eval(attrs.attrs));
element.attr(attrs).html(attrs.html);
}
};
});
并像这样使用:
<div ng-repeat="item in items" attrs="item">{{item.html}}</div>
演示:http://plnkr.co/edit/QHEV1A0yawTzGEjvPiMq?p=preview
您可以访问以下值:
<div ng-repeat="item in items" id="{{item.id}}" class="{{item.class}}">{{item.html}} </div>
但是如果你的html里面有html标签,你的html就不会被正确呈现。使用这个替代:
<div ng-repeat="item in items" id="{{item.id}}" class="{{item.class}}" ng-bind-html="item.html"> </div>
看看https://docs.angularjs.org/api/ng/directive/ngBindHtml
当AngularJS中的情况变得复杂时,请尝试重构。为此,我会使用某种指令。
Stack Overflow中已有答案,请在此处查看:AngularJS 的动态属性
您可以简单地将div放在ng repeat和set属性和html 中生成
<div ng-repeat="item in items">
<div id="{{item.Id}}" class="{{item.class}}">{{item.html}}</div>
</div>
只要item.html是原始文本,这就可以工作。对于html标签,请参阅以下问答;
相关文章:
- 使用jQuery根据动态生成的html动态添加html
- 如何使用javascript选择字符串的部分,添加html标记或删除部分
- 单击按钮添加HTML表单
- 如何添加html<br>标记转换为javascript
- 动态添加 HTML 元素后创建 jQuery 事件
- 在具有特定ID的DIV中使用JavaScript动态添加HTML元素
- 在前面的输入元素之前添加html输入元素
- 程序添加html后点击不工作
- 使用appendchild或其他方法向ul添加html代码而不是纯文本
- 如何在JS函数中添加HTML代码
- Jquery从另一个页面添加HTML
- 如何在不添加html脚本标记的情况下使用google-maps-api-v3
- 正在尝试向jQuery对象添加HTML类属性
- 使用“添加用户”按钮添加HTML字段
- 在 JavaScript 中的 textNode 中添加 html
- jquery动态添加HTML字段遇到了神秘的问题
- AngularJS 如何动态添加 HTML 并绑定到控制器
- 使用 js 添加 HTML 元素
- 在 JavaScript 切换中添加 html / css
- 如何在 tinymce 的第一段中添加 html 链接