在 AngularJS 中,在自定义指令前面加上 'ng' 是否可见?



我在AngularJS中写了一个小指令来显示用户信息,这是我写的代码来完成,

angular.module('app').directive('userProfile', function(){
    return {
      templateUrl: "userProfile.html",
      restrict: 'E',
    }
});

我将这个指令包含在我的index.html as中,

  <body ng-controller="myCtrl">
    <user-profile><user-profile>
  </body>

如果我想使用ng-前缀在整个项目中保持一些统一的结构,现在我已经尝试将.directive('userProfile'声明更改为实际工作的.directive('ngUserProfile'

然而,我想知道是否建议模仿ng-行为,如果是这样,是否有我可以利用的最佳实践?

请帮助!。

提前感谢,戴夫

用ng作为前缀是NOT是个好主意。

ng模块默认在AngularJS应用启动时加载。模块本身包含了AngularJS应用程序运行所必需的组件。

强烈建议不要在我们开发的自定义组件(指令/过滤器)中使用ng前缀,因为它将来不会与任何angular组件发生冲突。

不要使用ng前缀

这是AngularJS指令的命名标准,最好不要使用它,以免与自定义指令混淆。

David R,

我建议你阅读John Papa的AngularJS风格指南

这里有一个关于为自定义指令提供前缀的注释

因为HTML有角括号,而且"ng"听起来像"Angular"
ng-前缀是为指令预定义的angular前缀。
所以,如果你正在寻找自定义指令,你可以使用任何你想要的前缀。

.directive("myDir", function() { 
  // logic
})

前缀ng代表"Angular",Angular自带的所有内置指令都使用这个前缀。
同样,建议你不要在自己的指令上使用ng前缀,以避免在未来版本的Angular中可能发生的名称冲突。

通过这个<<p> 去/strong> 链接

最新更新