Angularjs 如何将传递给自定义指令的所有属性传递给指令模板中使用的控件?

Angularjs 如何将传递给自定义指令的所有属性传递给指令模板中使用的控件?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,有人能帮我解决这个问题吗 假设我有一个名为mycontrol的自定义指令。我想将此指令中的所有属性传递给指令模板中使用的控件。这里有一个例子- <mycontrol data-var1="value1" data-var2="value2"..../> 我的模板是- 如何定义指令定义对象以获取输出 <input data-var1="value1" data-var2="value2"...> 请注意,属性编号和名称不是固定的。所有属性都应保留 看看这把小提琴

有人能帮我解决这个问题吗

假设我有一个名为mycontrol的自定义指令。我想将此指令中的所有属性传递给指令模板中使用的控件。这里有一个例子-

<mycontrol data-var1="value1" data-var2="value2"..../>

我的模板是-

如何定义指令定义对象以获取输出

<input data-var1="value1" data-var2="value2"...>


请注意,属性编号和名称不是固定的。

所有属性都应保留

看看这把小提琴:

打开控制台并查看记录的元素

该指令如下所示:

myApp.directive('myDirective', function() {
    return {
        restrict: 'E',
        replace: true,
        template: '<input>',
        link: function(scope, elem, attrs) {
            console.log(elem);
            var domElem = elem[0];
            if (domElem.dataset && domElem.dataset != null) {
                console.log(domElem.dataset);
                scope.values = domElem.dataset;
            }
        }
    }; 
});
myApp.directive('myDirective',function(){
返回{
限制:'E',
替换:正确,
模板:“”,
链接:功能(范围、要素、属性){
控制台日志(elem);
var domElem=elem[0];
if(domElem.dataset&&domElem.dataset!=null){
console.log(domElem.dataset);
scope.values=domElem.dataset;
}
}
}; 
});

replace:true成功了。。谢谢你,aet。如果模板中只有一个元素,效果会很好。但我的模板是这样的-''。使用replace:true将把所有属性都转移到div标记。如何将它们转换为输入?