Javascript 使用ng repeat创建DOM属性
我有一个json,使用它我可以用angularjs动态创建元素 json有一个键值对数组,我希望将其呈现为元素上的属性。数组可以由自定义的数据-属性或事件组成,例如onclick 假设json具有以下结构:Javascript 使用ng repeat创建DOM属性,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有一个json,使用它我可以用angularjs动态创建元素 json有一个键值对数组,我希望将其呈现为元素上的属性。数组可以由自定义的数据-属性或事件组成,例如onclick 假设json具有以下结构: var arr = [ { key : "data-id" , value : "10" }, { key : "onclick" , value : "javascript:window.document.location.href='www.google.com'" }
var arr = [
{ key : "data-id" , value : "10" },
{ key : "onclick" , value : "javascript:window.document.location.href='www.google.com'" }
]
谁能给我提供一个解决方案,我可以把上面数组中的对象作为元素的属性来渲染
注意:上面的数组arr将是其他对象的属性。您应该为此编写一个简单的指令,该指令将设置元素的属性。例如:
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>
某个元素
演示:您是否将arr附加到$scope对象arr附加到附加到scope对象的另一个对象。您能否提供演示?如果没有所有相关代码,这很难回答。请与我们分享并演示问题