[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"
最新文章
- SQL SERVER 属性OWNER不可用于数据库xxx。该对象可能没有此属性,也可能是访问权限不足而无法检索。
- wpf图片查看器,支持鼠标滚动缩放拖拽
- java时间类型的转换/获取当前时间/将时间转换成String/将String转换成时间
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
- Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime
- Java中常见数据结构:list与map
- [转载] Go语言并发之美
- phpwind8.7升级9.0.1过程(二)8.7正式升级9.0
- android之蓝牙设备的使用01
- Excel 绘制图表,如何显示横轴的数据范围
- 转: Oracle AWR 报告 每天自动生成并发送邮箱
- UVA 10317 - Equating Equations (背包)
- Android UI布局TableLayout
- ISAPI_Rewrite不起作用的N种原因
- javap反编译命令详解&;Eclipse中配置javap命令
- python 练习2
- foreach 引用传值&;
- the secrets
- redis5 集群迁移方案
- SkylineGlobe 邻近度(Proximity)分析JavaScript源代码
热门文章
- 初拾Java(问题三:乱码问题)
- LongAdder &; AtomicInteger
- 转载:tar命令批量解压方法总结
- javascript入门教程笔记
- [APIO2018]铁人两项 --- 圆方树
- maven搭建企业级多模块项目
- Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题
- HDU 5296 Annoying problem dfs序 lca
- Codeforces Round #303 (Div. 2) D. Queue 傻逼题
- 使用Mysql慢查询日志对有效率问题的SQL进行监控