1.   数据模型对象(model object)是指$scope对象。$scope对象又是一个简单的JavaScript对象,其中的属性可以被视图访问,也可以同控制器进行交互。

2.  $scope对象是定义应用业务逻辑、控制器方法和视图属性的地方;将应用的业务逻辑都放在控制器中,将相关的数据都放在控制器的作用于中,是非常完美的架构;

3. 作用域:提供观察者以监视数据模型的变化;可以将数据模型的变化通知给整个应用,甚至是系统外的组件,可以进行嵌套,隔离业务功能和数据,给表达式提供运算时所需的执行环境;

4. $scope对象的生命周期处理有四个不同的阶段:

  • 创建:在创建控制器或指令时,angular会用$injector创建一个新的作用域,并在这个新建的控制器或指令运行时将作用域传递进去;
  • 链接:当angular运行时,所有的$scope对象都会附加或者链接到视图中,包括$scope对象的函数;这些函数($watch函数)将会注册当angular应用上下文发生变化时需要运行的函数; 
  • 更新:当事件循环运行时,它通常执行顶层对象($rootScope),每个子作用域都执行自己的脏值检测,每个监控函数都会检查变化,如果检测到任意变化,$scope对象就会触发指定的回调函数;
  • 销毁:当一个$scope在视图中不在需要时,这个作用域将会清理和销毁自己;   

5. 控制器的作用: 控制器在angularJS中的作用是增强视图;用它来给作用域对象设置初始状态,添加自定义行为;

6. 设计良好的应用会将复杂的逻辑放到指令和服务中,通过使用指令和服务,我们可以将控制器重构成一个轻量和易于维护的形式;

7. angular通过$parse这个 内部表达式来进行表达式的运算;(手动解析表达式)

8. 在字符串模板中做差值操作,需要在你的对象中注入$interpolate服务;$interpolate服务时一个可以接受三个参数的函数:

text(字符串):一个包含字符插值标记的字符串;

mustHaveExpression(布尔型):设置为true,当传入的字符串中不含有表达式时会返回null;

trustedContext(字符串):angular会对已经进行过字符串差值操作的字符串通过$sec.getTursted()方法进行严格的上下文转义;

它返回一个函数,用来在特定的上下文中运算表达式;

9. 若要子文中使用不同于{{ }}的符号来表示表达式的开始和结束,可以在$interpolateProvider服务中配置;

angular.module("mainApp ",[]).config(["$interpolateProvider",function($interpolatProvider){

        $interpolateProvider.startSymbol('_ _');    //修改标识符开始符号

$interpolateProvider.endSymbol('_ _');     //修改标识符结束符号

   }]);

最新文章

  1. Linux终端打印命令使用介绍
  2. 每天一个 Linux 命令(16):which命令
  3. C#如何分割多个空格分隔的字符串?
  4. 用int类型表示最大公倍数
  5. IBatis.net 输出SQL语句(七)
  6. PHP 堆排序实现
  7. 集群服务器Session同步
  8. unity3d游戏开发 —— 倒计时
  9. ps一般常用的快捷键
  10. 套接字编程(VC_Win32)
  11. [iOS] 响应式编程开发-ReactiveCocoa(二)
  12. Filter组件开发中的SDK基类分析
  13. Linux进程管理的学习
  14. mysql性能排查思路
  15. [CI]jenkins安装&插件管理&java-helloworld之旅
  16. 一些有用的Java学习资料
  17. Qt Multimedia 模块类如何使用?(表格)
  18. Elasticsearch 系列2 --- 安装elasticsearch-head管理工具
  19. STM32 Timer : Base Timer, Input Capture, PWM, Output Compare
  20. Loadrunner解决启动浏览器后页面显示空白

热门文章

  1. bzoj3879
  2. 2.BIND服务基础及域主服务器配置
  3. mac系统下安装Composer和laravel
  4. 界面控件DevExpress发布v18.2.5|附下载
  5. java中String的认识
  6. 计算图 graph
  7. TensorFlow随机值:tf.random_normal函数
  8. ubuntu下pyspark的安装
  9. 解决Could not open Hibernate Session for transaction; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/transaction/spi/TransactionContext
  10. DRBD常用管理篇