AngularJS系列——双向绑定和依赖注入

双向绑定

首先,要有数据绑定的概念。

View:也就是我们的页面,页面标签(angular指令、表达式)
Model:作用域对象($rootScope

数据绑定:数据从一个地方A转移(传递)到另一个地方B, 而且这个操作由框架来完成
单向数据绑定:只支持一个方向的数据流向。
View——>Model:  ng-init 初始化的效果
Model——>View  :{{name}}表达的效果

接着解释双向数据绑定

双向数据绑定:同时支持两个方向的数据流向
 View<——>Model: ng-model的功能

指令:angular定义的属性、标签、样式、注释
表达式:{{表达式}}  js表达式,从rootScope取数据

<body ng-app ng-init="name='Tom'">

  <inputtype="text" ng-model="name">

  <p>你输入的名字是:{{name}}</p>

  <inputtype="text" ng-model="name">

  <p>你输入的名字2是:{{name}}</p>

</body>


 

依赖注入

其实依赖注入的概念我们早就使用过了。看到方法一、方法二就肯清楚了。

依赖注入: 依赖对象被自动注入进来(用形参注入进来)

1. 什么是依赖对象?

  * 完成特定功能的函数需要某个对象才能实现, 这个对象就是依赖对象

2. 如何引入依赖对象?

  * 方式一: 内部自己创建 : 不动态

  * 方式二: 全局变量 : 污染全局命名空间

  * 方式三: 形参引入依赖 : 依赖注入使用的方式

3. 声明式依赖注入

  * 定义函数时, 使用形参声明依赖对象变量, 在函数体中使用依赖对象(我们实现)

  * 函数调用时, 自动将创建好的依赖对象动态传入/注入(框架实现)

  * 例子: 事件监听就使用了依赖注入, event就是依赖对象(event可以是任意名称)

 

  结论: 有形参的回调函数必然会用到: 依赖注入

 /*

   方式一: 内部自己创建 : 不动态

   依赖对象: person

   */

  functionshowPerson() {

    var p = newPerson('Tom', 12);

   console.log(p.name, p.age);

  }

  showPerson();

 

  /*

   方式二: 全局变量 : 污染全局命名空间/ 依赖名称

   */

  var p = newPerson('Bob', 13);

  functionshowPerson2() {

   console.log(p.name, p.age);

  }

  showPerson2();


  /*

   方式三: 形参引入依赖 : 依赖注入使用的方式

   */

  functionshowPerson3(person) { //我们来定义这个函数

     console.log(person.name, person.age);

  }

  showPerson3(newPerson('xxx', 23)); //由其它人(js引擎或框架)来调用




这篇博客介绍依赖注入不错:http://blog.csdn.net/renfufei/article/details/19038123

 

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值