ng-app属性申明所有被包含的内容都属于这个AngularJS应用,只有被具有ng-app属性的DOM元素包含的元素才会受AngularJs的影响。
只需遇到$,你都可以只把它看作一个Angular对象。
数据模型对象是指$scope对象,$scope对象是一个简单的javascript对象,其中的属性可以被视图访问,也可以同控制器进行交流,双向数据绑定意味着视图改变了某个值,数据模型会通过脏检查,观察到这个变化,而如果数据模型改变了某个值,视图也会依赖变化重新渲染。
正如ng-app声明所有被它包含的元素都属于AngularJS应用一样。DOM元素上的ng-controller声明所有被它包含的元素都属于某一个控制器。
高效,能用在生产环境中的控制器代码,并把它封装在一个我们称之为模块的单元内。
在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了包含了定义具体功能代码。
优点:
·1、保存全局命名空间的情况;
2、编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
3、易找到互相隔离的功能;
4、易于在不同应用间应用代码;
5、使应用能够以任意顺序加载顺序加载代码的各个部分;
AngularJS允许我们使用angular.module()方法来声明模块;这个方法能够接受两个参数,第一个模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。
angular.module('myApp',[]);(myApp为模块名称)
[]:字符块数组,本模块依赖于这些模块,依赖需要在本模块加载之前由注入器进行加载。
$scope对象是定义应用业务逻辑,控制器方法和视图属性的地方。
作用域是应用状态的基础,基于动态绑定,我们可以依赖视图在修改时,立刻更新$scope,也可以依赖$scope在其发生变化时,立刻重新渲染视图。
Angular启动并生成视图时,会将根据ng-app元素,同$rootscope进行绑定。$rootscope是所有$scope对象的最上层,最接近全局作用域的对象。
$scope对象就是一个普通的javascript对象,我们可以在其上修改或添加属性。
$scope对象在AngularJS中充当数据模型,但与传统的数据模型不一样,$scope并不负责处理和操作数据,它只是视图和HTML之间的桥梁,它是视图和控制器之间的胶水。
AngularJS应用的模版中使用多种标记,包括以下:
指令:将DOM元素增加为可复用的DOM组件的属性或元素
值绑定:模版语法{{}}可以将表达式绑定到视图上
过滤器:可以在视图中使用的函数,用来进行格式化
表单控件:用来检验用户输入的空间
在字符串模块中插值操作,需要在你的对象中注入$interpolate服务。
$interpolate服务是一个可以接受三个参数的函数,其中第一个参数是必需的。
text(字符串):一个包含字符串插值标记的字符串
mustHave Expression(布尔值):如果将这个参数设为true,当传人的字符串中含有表达式会返回null
trusted Context(字符串):AngularJS会对已经进行过字符串插值操作的字符串通过$sec.getTrusted()方法进行严格的上下转义。