javascript - Angular Directive(指令)不限于 A 和 E

标签 javascript angularjs

我正在尝试执行此指令,但它没有像我预期的那样工作。

<nForm nform="tabs"></nForm>

directive('nForm',['$injector', function($injector){
     return {
        restrict: 'E',
        require: 'ngModel',
        template: "<div class='form-object'></div>",
        link: function(scope, element, attrs) {
           //some more code
        }
      };
])

在以下情况下不起作用:

<class="nForm" nform="tabs"></nForm>

directive('nForm',['$injector', function($injector){
     return {
        restrict: 'C',
        require: 'ngModel',
        template: "<div class='form-object'></div>",
        link: function(scope, element, attrs) {
           //some more code
        }
      };
])

有效。我做错了什么?

最佳答案

AngularJs 在命名指令和它的用法时有一个严格的风格要遵循。

每个大写字母的单词都应该用'-'分隔。

例如下面的指令声明

.directive('myCustomer', function() {
    //...
});

应该用作

 <my-customer ></my-customer>

在你的情况下它应该是

<n-form> <n-form>

进行这种转换的原因是,虽然 JavaScript 区分大小写,但 HTML 不区分大小写。因此,angular 在内部重命名标记引用,以便保留每个环境中的约定。

关于javascript - Angular Directive(指令)不限于 A 和 E,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988139/

相关文章:

javascript - 如何使用 AngularJS 为 ion-list 元素实现动态样式?

javascript - AngularJS 指令 - 将 ngModel 与 jQuery 小部件一起使用时的最佳实践

javascript - 如何使用 jQuery 获取所有没有星期日的日期?

javascript - string.indexOf() 不工作 javascript

javascript - JavaScript 中的双重 for 循环

jquery - 具有隐藏行的表的 AngularJS 斑马条纹

javascript - 使用 ng-model 数组复制 html 元素时出错

angularjs - 当没有 $scope 强制摘要时,如何解决 AngularJS、Jasmine 2.0 中的 promise ?

javascript - 在 D3.js 中使用嵌套数据

javascript - Jquery - 获取子元素的最快方法