AngularJS学习

https://www.cnblogs.com/lovesong/p/4870006.html

AngularJS是一个框架,框架决定整个项目的开发套路,以框架为主导。

jQuery是一个函数库,以项目本身为主导。

angularjs是个双向绑定的前端JS框架,其他特性都是围绕它工作的。

它适用于CRUD应用(增加(create)、读取(retrieve)、更新(update)和删除(delete))

双向绑定:

 AngularJS学习

                                    (当模板编译视图,视图发生变化触发数据模型变化,数据模型又会作用于视图。)

angularjs元件:其中controller、directive是最为重要的

  

  AngularJS学习

   module:

     作为模块组织者,包含其他angularJS元件

   controller:

    负责跟view沟通,不处理任何跟DOM有关的工作

    PS:当你的controller里面写了DOM操作时,就应该反省代码是否写得有问题了。

   directive:

    类似于HTML标签,可以定义标签的行为,所有与DOM相关的操作都应该写在这里。

    PS:尽量不要DOM操作,但可能还是会需要用到,用到时就要在directive里用。

    service:

     写可以独立运作的代码(与view无关),共用于元件(例如控制器)之间,不应该处理任何跟DOM有关的工作。后台数据的请求接口

    filter:

    对数据做一些修理,不应该处理任何跟DOM有关的工作

   config:

    用来定义路由规则,不应该处理任何跟DOM有关的工作

双向数据绑定:

  双向数据绑定是个重要的特性,当view中有数据发生了变化,这个变化会反馈到Model的scope的数据上,而当scope数据发生变化时,view中的数据也会更新到最新的值。

  三个方法:

    scope重要的方法:$apply,$digest,$watch

    1$watch

      注册一个watcher,监听scope的数据,当数据变化时候调用回调函数。第一个参数是被监听的数据,第二个参数是回调函数。

    2$digest

      检查scope中的数据是否发生变化,如果变化则关联到该watcher的回调函数就会被执行。

    3$apply

      这方法是调用$rootScope.$digest(),在$rootScope开始$digest,随后会访问到所有的children scope中的watchers。$apply()方法有两种形式。第一种会接受一个function作为参数,执行该function并且触发一轮$digest循环。第二种会不接受任何参数,只是触发一轮$digest循环。

      PS:angularjs并不直接调用$digest(),而是调用$scope.$apply()

              

AngularJS学习

 

 

 

 

 

未完待续……………………

      

 

         

 

上一篇:MySQL函数、事务、索引、权限管理和备份、规范数据库设计


下一篇:c# 三种常见的委托