Angular1.x 概念解析

一、AngularJs主要解决的是逻辑问题,实现数据双向绑定,实现modelview的双向刷新,是比较完美的html模板引擎,实现逻辑和view的分离。html

二、AngularJs主要适用于单页应用。promise

三、代码结构清晰,逻辑清晰。安全

四、编写的时候应该尽可能少用其余库和框架,实在不能用angular解决了在考虑使用其余库和框架restful

五、controller只负责逻辑处理业务逻辑,不要在其中进行dom操做,controllerscope中的变量时能够继承的,普通变量只能继承,不能从子controller改变父controller的中的变量,可是若是变量是对象,那么自controller中对变量的改变,会同时改变父controller中的变量。非父子Controller中要共享数据和函数,采用serviceController中须要进行事件传播采用event busapp

六、filter使用在dom上,负责对显示的数据进行格式化;directive使用在dom上,主要用于dom操做;service主要为其余模块提供可注入的服务。框架

七、Angular的模块使用依赖注入,定义后angular将自动加载而且加载模块。dom

八、在非scope的做用域中改变scope的变量值,使用$digest() / $apply()函数进行model的刷新,进而使viewmodel都更新。ide

通常定义一个安全更新方法,这样无论是否是在scope的更新生命周期,都不会报错函数

factory([($rootScopeApp) {
    (scopefn) {
        fn = angular.isFunction(fn) ? fn : angular.noopscope = scope && scope.$apply ? scope : $rootScope(!scope.$$phase) {
            scope.$apply(fn)}
    }
}])

九、最早执行的函数是configconfig中只能注入constant类型和provider类型的服务,在config中主要进行一些全局配置和路由。oop

十、            在依赖的模块都加载完成后会执行run,可在此函数中先行定义一些变量和数据。

十一、            有多重方式定义service,其中value定义没法引入其余服务,至关于直接定义一个对象;constant定义同value,而且定义后的其中的值是不能改变的;servicefactoryprovider三者主要是封装不同,定义的服务概念同样。

十二、            支持友好的restful风格的urlget\put\post\delete,提供resource服务来简化资源的处理,有比较完善的promise处理方案。

1三、            尽可能只在directive中和controller中来使用scope,以避免形成代码的混乱。

1四、            内部集成了jqlite,来进行dom的操做。

1五、            模块定义的时候注入的是模块,controllerservice等中注入的是模块中定义的service,页面中使用的是模块中的filter(在dom上直接使用)、directive(在dom上直接使用)等,只有模块注入了,才能将其内部定义的servicefilterdirective注入;通常来讲在app模块定义的时候将全部模块注入,controllerdirective中通常只须要注入servicefilter中不能注入。

相关文章
相关标签/搜索