1

我为输入数据构建了不同的指令(如日历、colo 选择器……)。我想赋予这些元素相同的行为,这与常见的输入 elmenets 具有(原始的、肮脏的)相同的行为。有没有办法实现这一点(可能通过继承或类似)?如果没有,任何人都知道如何正确编码,所以它很适合吗?

4

1 回答 1

3

如果您的指令不在ng-model内部使用,您必须自己创建。因此,如果您的指令只是包装了一个可编辑的文本字段并具有一些额外的功能,那么仍然使用它是一个好主意,ng-model因为它为您提供了这些额外的东西。所以是这样的:

的HTML:

<my-input my-model="model1">

和 JS:

myModule.directive('myInput', function() {
    return {
        replace: true,
        restrict: 'E',
        scope: {
            model: '=myModel'
        },
        template: '<div><input type="text" ng-model="model"</div>',
        link: function($scope, elem, attrs) {
            // Add extra features to the input
        }
    };
});

有了这个,你的指令会自动从 using 获取原始/肮脏的行为ng-model。如果这不是您的选择,我建议您查看 NgModelController 的源代码,特别是有关原始/脏的部分。

于 2013-03-08T07:44:52.737 回答