我在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中可能发生的名称冲突。