如何在我的指令中添加所有可能的属性(包括其他指令)?

时间:2016-01-07 16:41:19

标签: angularjs

我正在尝试创建一个像这样的指令:

myTemplate.html:

<div class="myWidget">
    <input type="text" class="someClass blah blah" ng-model="myModel" ng-change="myChange" />
</div>

myDirective:

(function () {
    'use strict';

    angular
        .module('myApp.myWidgets.someWidget')
        .directive('someWidget', someWidget);

    someWidget.$inject = ['$timeout'];

    function someWidget($timeout) {

        return {
            restrict: 'EA',
            templateUrl: 'myTemplate.html',
            link: link,
            require: 'ngModel',
            scope: {
                myModel: '=ngModel',
                myChange: '&ngChange',
                // ADD ALL OTHER POSSIBLE ATTRIBUTES HERE. BUT I DONT THINK THAT'S PRACTICAL.
            }
        };

        function link(scope, elm, attr) {
        }
    }
})();

用法:

<some-widget ng-model="someModel" .... > </some-widget>

现在如果我想添加像ng-show这样的东西怎么办? NG-隐藏? NG-变化?我认为一个接一个地添加所有这些都是不切实际的。有没有办法添加它们而不是逐个在范围内指定它们?该指令将被许多页面使用,因此我无法预测其他人将添加的其他属性或指令。

谢谢。

0 个答案:

没有答案