Javascript 使用ng repeat创建DOM属性

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'" }

我有一个json,使用它我可以用angularjs动态创建元素

json有一个键值对数组,我希望将其呈现为元素上的属性。数组可以由自定义的数据-属性或事件组成,例如onclick

假设json具有以下结构:

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对象的另一个对象。您能否提供演示?如果没有所有相关代码,这很难回答。请与我们分享并演示问题