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

时间:2014-04-17 22:33:26

标签: angularjs angularjs-directive

有人可以帮我解决这个问题吗?

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

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

我的模板是 - <input/>

如何定义指令定义对象以将输出作为

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

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

1 个答案:

答案 0 :(得分:1)

所有属性都应该继续使用。

看看这个小提琴:http://jsfiddle.net/XgA6T/

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

该指令如下所示:

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;
            }
        }
    }; 
});