AngularJS - 指令名称中是否可以有下划线?

标签 angularjs angularjs-directive naming-conventions

我对 angular 指令的命名约定以及 angular 规范化我的指令名称的方式有疑问。
为了在现有项目中遵循一些命名约定,我想向其中添加 angular,我需要以这种方式用“_”命名我的自定义指令:

app.directive("directive_name", function(...) {...});

可悲的是,这样做似乎与 Angular 规范化指令名称的方式相矛盾,因此这些指令被忽略,不被编译,因此不会显示在屏幕上。

[题]
是否可以以这样的方式命名指令,以便稍后我们可以在 HTML 中使用它,如下所示:
<body>
    ...
    <my_directive></my_directive>
</body>

感谢您的时间和帮助!

最佳答案

是的,这是可能的,但您需要在camelCase中声明它:

app.directive("directiveName", function(...) {...});

html
<my_directive></my_directive>

但恕我直言 - 更好,使用破折号
<my-directive></my-directive>

实际上,angular 会将 html 中的指令名称标准化如下:
  • x-data-从元素/属性的前面。
  • 转换 : , - , 或 _ - 以驼峰命名的分隔名称。
  • 关于AngularJS - 指令名称中是否可以有下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323418/

    相关文章:

    algorithm - 边缘案例和角落案例有什么区别?

    javascript - AngularJS 指令 $destroy

    angularjs - 基本的 AngularJS NVD3 指令将不起作用且没有错误

    visual-studio-2010 - 为什么 Resharper 将变量重命名为以下划线开头?

    javascript - Angular $watch 输入邮件

    angularjs - 如何实现等待多个异步请求的promise?

    javascript - 推送覆盖以前的 ui-grid 行数据

    angular - 数据路径 ""必须具有必需的属性 'browserTarget'

    javascript - 扩展 ngClick 以添加附加功能

    model-view-controller - Symfony2和 View 模型的MVC概念