angularjs - 需要两个属性之一的 Angular 指令

标签 angularjs kendo-ui angular-directive

如何编写需要 ng-modelk-ng-model 的指令?文档不包括这个:(

app.directive('myDir', function () {
    return {
        require: 'ngModel || kNgModel',
        // omitted
    };
});

最佳答案

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

您无法告诉 Angular 至少其中一个需要可用,因此将它们设置为可选,并检查链接函数是否两者之一可用。将您的代码更新为:

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

关于angularjs - 需要两个属性之一的 Angular 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31830917/

相关文章:

javascript - 如何通过angularjs实现这个动画?

php - 遵循 AngularJS/MySQL/PHP 教程。无法将给定的 .HTACCESS 文件转换为等效的 web.config

javascript - 方法中一行的 tslint 错误

asp.net-mvc-4 - Kendo DatePicker 格式验证和错误消息

asp.net-mvc - 如何从我的模型中的剑道编辑器中获取值

angular - 从 Angular 4 中的其他组件切换侧边栏菜单

javascript - 如何动态创建搜索字段作为 Angular 标题

javascript - 对同一页面上的多个项目使用 Kendo UI 翻转效果/组合效果

AngularJS 和 Angular 翻译 : Using the translate filter in an object literal

Angular - 在指令中找不到 HTML 元素