2016-09-14 101 views
1

我在AngularJS显示用户信息写了一个小的指令,这是我写来完成代码,建议在AngularJS中用ng定义一个自定义指令吗?

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

而且我包括我的index.html此指令,

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

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

但是,我想知道是否建议模仿ng-行为,如果有,是否有任何可以使用的最佳实践?

请帮忙!

在此先感谢, 戴夫

+0

提供前缀的说明(**它不好的做法**)不要在自定义指令中使用'ng-'前缀,因为angular使用'ng-'约定,将来可能会与angular指令产生冲突。拥有像“ms-user-profile”这样的前缀的最佳实践 –

回答

3

与吴加前缀是不是一个好主意。

当AngularJS应用程序启动时,默认加载ng模块。该模块本身包含了AngularJS应用程序的基本组件。

强烈建议不要在我们开发的自定义组件(指令/过滤器)中添加前缀,因为它将来不会与任何角度组件碰撞。

0

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

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

前缀ng表示“Angular”; Angular附带的所有内置指令都使用该前缀。
同样,建议您不要在自己的指令中使用ng前缀,以避免未来版本的Angular中可能的名称冲突。

通过这个link

0

不要使用纳克前缀

这是AngularJS指令的命名标准,最好不要用它来避免与海关指令混淆。

0

大卫·R,

我建议你由约翰爸爸一起阅读AngularJS风格指南

Here是定制指令