需要协助编写angularjs指令

时间:2014-11-12 19:40:52

标签: angularjs angularjs-directive

我的代码在我的HTML中重复了很多次:

<div multi-select
     input-model="filters.REPLACEMENT_A" 
     button-label="name" 
     item-label="name" 
     tick-property="selected"
     default-label="REPLACEMENT_B"
></div>

唯一改变的部分是两个REPLACEMENT_字符串。因此,我想制定一个我会这样称呼的指令:

<myDirective model="regions" label="The label here"></myDirective>

我认为既然这个指令基本上返回了另一个指令(多选指令),我不得不编译/处理它而只是返回简单字符串,对吗?

1 个答案:

答案 0 :(得分:0)

这似乎有效。不知道如果它是&#34;对&#34;方式。

var filterDefinition = function ($compile) {
     return {
        restrict: 'E',
        link: function (scope, element, attrs) {
            var content = '<div multi-select button-label="name" item-label="name" tick-property="selected" group-property="group"';
            content += ' input-model="filters.' + attrs.filter + '"';
            content += ' default-label="' + attrs.label  + '"></div>';

            var jqLiteElem = angular.element(content);
            $compile(jqLiteElem)(scope);

            element.replaceWith(jqLiteElem);
        }
    };
};