自从了解AngularJS这个前端框架, 就喜欢上它。 喜欢它的简洁高效, 就跟当初喜欢上Python一样。 使用Juery,需要和dom打交道, 有时候实现一个简单的全文搜索功能,需要写很多的js代码。 而使用AngularJS却不到10行代码。 太酷了!~
接触Angular有段时间。 但是一直没有实践。 周末的时候,专门把以前用Juery写的应用用AngularJS重写一遍 。
我的主页参考的文档是官方的入门文档:https://docs.angularjs.org/tutorial (官方入门文档是不错的入门资料,简单而且思路清晰,墙裂推荐!)
如果要深入AngularJS的话,有一本不错的书也可以看看: 《AngularJS权威指南》
下面大致记录一下自己的AngularJS学习笔记, 以后再慢慢完善。
两个重要概念:
数据双向绑定(Two-way Data Binding)
依赖注入(Dependency Injection)
六个常用指令(Directive):
ng-app
ng-controller
ng-model
ng-view
ng-repeat
ng-click
三个常用参数:
$scope
$http
$routeParams
模块定义:
myApp = angular.module("myApp", ["dependency1", "dependency2"])
myApp.config()
myApp.controller()
myApp.filter()
url路由:
myApp.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/', {
templateUrl: 'partials/current.html',
controller: "AttackListCtrl"
}).
when('/history/:periodTime', {
templateUrl: 'partials/history.html',
controller: "AttackHistoryCtrl"
}).
otherwise({
redirectTo: "/"
});
}
]);
简单全文搜索范例:
<div>
Search: <input ng-model="query">
Sort by:
<select ng-model="orderProp">
<option value="start_time">Start Time</option>
<option value="zone_ip">Zone IP</option>
<option value="duration">Duration</option>
</select>
</div>
<tr ng-repeat="attack in logs | filter: query | orderBy: orderProp">
<td>{{attack.zone_ip}}</td>
<td>{{attack.circuit}}</td>
<td>{{attack.attack_type}}</td>
<td>{{attack.attack_status}}</td>
<td>{{attack.start_time}}</td>
<td>{{attack.end_time}}</td>
<td>{{attack.duration}}</td>
</tr>
文章首发于: www.hackstoic.com