[AngularJS] Angular 1.3 Anuglar hint
Read More: http://www.linkplugapp.com/a/953215
https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub
angular-hint
helps us writing better Angular code and makes finding very common mistakes in our code base easier. For example, did it ever happen to you, that you developed your Angular app, you grabbed a module from somewhere, then you started using the directives that the module comes with, and no matter how much you followed the usage instructions, it simply didn’t work. And after one hour of debugging you found out that you forgot to add the module dependency to your application. Yikes!
These modules are:
- angular-hint-controllers - Warns about use of global controllers and hints about best practices for controller naming
- angular-hint-directives - Hints about misspelled attributes and tags, directives and more
- angular-hint-dom - Warns about use of DOM APIs in controllers
- angular-hint-events - Identifies undefined variables in event expressions
- angular-hint-interpolation - Notifies of undefined parts of interpolations chains and suggests available variables
- angular-hint-modules - Identifies missing module namespaces, undeclared modules, multiple uses of
ng-app
and more
Install and using angular-hint
npm install angular-hint
Once it’s installed, we can embed the source in our application right after Angular itself like this:
<script type="path/to/angular/angular.js"></script> <script type="path/to/angular-hint/hint.js"></script>
Next, we apply the ng-hint
directive in order to actually use the angular-hint
module:
<body ng-app="myApp" ng-hint> </body>
By default, ng-hint
injects all the mentioned hint modules.
However, if we don’t want to get controller related hints, but are interested in DOM related hints, we can restrict the use of hint modules by using the ng-hint-include
directive instead.
The following code only injects angular-hint-dom
:
<body ng-app="myApp" ng-hint-include="dom"> </body>
We can even define more than just one hint module if needed:
<body ng-app="myApp" ng-hint-include="dom directives"> </body>
Module hints
If you declared an module:
angular.module('myAppDependency', []);
but forgot to include into your main app:
angular.module('myApp', []);
Now, instead of fiddling around for an hour to find out why myAppDependency
’s directives aren’t picked up, angular-hint
is telling us that we might missed something. Simply open your browsers console and you should see something like this:
Angular Hint: Modules Module "myAppDependency" was created but never loaded.
Controller hints
One of these best practices is, when naming controllers, to suffix them with Controller
instead of using short names like Ctrl
. angular-hint
helps with that too. Let’s take a look what happens when we define a controller with a name that doesn’t have this suffix:
angular.module('myApp', []).controller('AppCtrl', function () { });
Having a controller registered like this, angular-hint
gives us the following warning:
Angular Hint: Controllers The best practice is to name controllers ending with 'Controller'. Check the name of 'AppCtrl'
Directive hints
Example where error might happens:
<ul> <li ng-repaet="i in [1,2,3,4]"> <!-- more dom goes here --> </li> </ul>
However, when angular-hint
is activated, we get the following very useful warning:
Angular Hint: Directives
There was an AngularJS error in LI element.
Found incorrect attribute "ng-repaet" try "ng-repeat"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具