1.AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。
2.AngularJS 通过 ng-directives 扩展了 HTML。
ng-app指令定义一个AngularJS应用程序
ng-model指令把元素值绑定到应用程序。也可以为应用程序数据类型验证(number,email,required)。为应用程序提供状态(invalid,dirty,touched,error)。为html元素提供CSS类。绑定HTML到HTML表单。
ng-bind指令把应用程序数据绑定到HTML视图。
ng-init指令初始化AngularJS应用程序变量。
AngularJS指令是以ng作为前缀的HTML属性。
AngularJS表达式写在大括号内:{{ }}。
{{ }}和ng-bind的区别?
相同点:实现效果是一样的。
不同点:如果网页没有被正常的渲染,那么表达式将原型显示出来,用户将看到代码显示在网页上,而即使网页发生错误,无法正常渲染数据,ng-bind将不会将代码显示在网页上。
推荐使用ng-bind
AngularJS 模块(Module) 定义了 AngularJS 应用。
AngularJS 控制器(Controller) 用于控制 AngularJS 应用。
ng-app指令指明了应用, ng-controller 指明了控制器。
ng-repeat指令会重复一个HTML元素(循环数组,对象)
创建自定义指令:使用 .directive 函数来添加自定义的指令
可以通过元素名,属性,类名,注释来进行调用指令,
通过添加restrict属性来限制指令通过特定方式来进行调用:
E:元素名
A:属性
C:类名
M:注释
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。Scope 是一个对象,有可用的方法和属性。Scope 可应用在视图和控制器上。当在 AngularJS 创建控制器时,你可以将 $scope 对象当作一个参数传递:
app.controller('myCtrl', function($scope) {
$scope.carname = "Volvo";
});
当在控制器中添加 $scope 对象时,视图 (HTML) 可以获取了这些属性。
视图中,你不需要添加 $scope 前缀, 只需要添加属性名即可,如: {{carname}}。
scope 是模型。
scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中使用。
所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。
$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。