Angularjs 需要两个属性之一的角度指令

Angularjs 需要两个属性之一的角度指令,angularjs,kendo-ui,angular-directive,Angularjs,Kendo Ui,Angular Directive,如何编写需要ng模型或k-ng模型的指令?本文档不包括以下内容:( 您需要将它们作为字符串数组传入 您无法确定其中至少有一个需要可用,因此请将它们设置为可选,并检查链接函数(如果两者都可用)。将代码更新为: app.directive('myDir', function () { return { require: ['?ngModel', '?kNgModel'], link: function(scope, element, attrs, contro

如何编写需要
ng模型
k-ng模型
的指令?本文档不包括以下内容:(


您需要将它们作为字符串数组传入

您无法确定其中至少有一个需要可用,因此请将它们设置为可选,并检查链接函数(如果两者都可用)。将代码更新为:

app.directive('myDir', function () {
    return {
        require: ['?ngModel', '?kNgModel'],
        link: function(scope, element, attrs, controllers){
            if(!controllers[0] && !controllers[1]){
                throw 'myDir expects either ng-model or k-ng-model to be defined';
            }
        }
    };
});

嗯,我在控制器[1]上得到一个空值当k-ng-model被设置时,它被规范化为k-ng-model,对吗?正如你所说,它被规范化了,
k-ng-model
是在同一个元素上定义的吗
myDir
是这样定义的吗?是的,它是这样使用的:但我有一种预感,这是剑道问题,这是很有可能的,我实际上从未遇到过一个控制器最终被定义为
n的情况ull
。如果可选的required指令不可用,这将导致
未定义
,数组的长度始终等于
require
数组的长度,您可以将您的代码放在小提琴中吗?看来k-ng-model不是指令-这就是原因
app.directive('myDir', function () {
    return {
        require: ['?ngModel', '?kNgModel'],
        link: function(scope, element, attrs, controllers){
            if(!controllers[0] && !controllers[1]){
                throw 'myDir expects either ng-model or k-ng-model to be defined';
            }
        }
    };
});