我有一个json,我正在使用angularjs动态创建元素。
json有一组键值对,我希望将其作为元素的属性呈现。该数组可以包含自定义数据属性或事件,例如 onclick 。
让我们说json具有以下结构:
var arr = [
{ key : "data-id" , value : "10" },
{ key : "onclick" , value : "javascript:window.document.location.href='www.google.com'" }
]
有谁能请我提供一个解决方案,我可以将上面数组中的对象渲染为元素的属性。
注意:上面的数组 arr 将是其他对象的属性。
答案 0 :(得分:0)
你应该为此编写一个简单的指令,它将设置元素的属性。例如:
app.directive('attributes', function($parse) {
return {
scope: { attributes: '=attributes' },
link: function(scope, element) {
var attributes = scope.attributes,
el = element[0];
attributes.forEach(function(attr) {
el.setAttribute(attr.key, attr.value);
});
}
};
});
然后你可以像这样使用它:
<div attributes="elems">Some element</div>
将呈现:
<div attributes="elems" class="ng-isolate-scope" data-id="10" onclick="javascript:window.document.location.href='www.google.com'">Some element</div>