博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.6 The Object Model -- Bindings
阅读量:6276 次
发布时间:2019-06-22

本文共 1332 字,大约阅读时间需要 4 分钟。

一个binding在两个属性之间创建一个链接,当一个改变时,另外一个被自动更新为一个新的值。

bindings可以在同一个对象中连接两个属性,或者用在两个不同的对象中。

不像大多数框架一样包含某种形式的绑定实现,在Ember.js中bindings可以被用于任何对象,而不仅仅是在viewsmodels之间。

1. Two-Way Binding

创建一个双向绑定的最简单的方法是使用一个计算的别名,它指定另一个对象的路径。

wife = Ember.Object.create({    householdIncome: 80000});Husband = Ember.Object.extend({    houseHoldIncome: Ember.computed.alias('wife.householdIncome')});husband = Husband.create({    wife: wife});husband.get('householdIncome');//80000//Someone gets raise.wife.set('householdIncome', 90000);husband.get('householdIncome');//90000
  • 注意绑定不会立刻更新。Ember等待直到同步改变之前所有的程序代码完成运行,所以当值是短暂的时候你可以改变一个绑定属性多次而无需担心同步绑定的开销。

2. One-Way Bindings

单向绑定只能在一个方向上传递变化。通常,单向绑定只是一个性能优化,你可以安全的使用双向绑定(当然,如果你只改变一个方向,双向绑定在事实上是单向绑定)。

有时单向绑定实现一些特定的行为是很有用的,例如一个默认的和另外一个属性一样的但是可以被重写。(如送货地址,开始与一个账单地址相同,但是稍后可以被改变)

user = Ember.Object.create({    fullName: "Kara Gates"});UserView = Ember.View.extend({    userName: Ember.computed.oneWay('user.fullName')});userView = UserView.create({    user: user});//Changing the name of the user object changes//the value on the viewuser.set('fullName', "Krang Gates");//userView.userName will become "Krang Gates"//..but changes to the view don't make it back to the objectuserView.setr('userName', "Truckasaurus Gates");user.get('fullName');//"Krang Gates"

转载于:https://www.cnblogs.com/sunshineground/p/5147978.html

你可能感兴趣的文章
如何入手 dubbo
查看>>
英国网络安全公司Darktrace获6400万美元C轮融资
查看>>
CYQ.Data+EasyUI开发:几个相关的问题CheckBox、Tree、TreeGrid
查看>>
Extjs分页使用Java实现数据库数据查询
查看>>
BayWa收购光伏分销商Solarmatrix进军澳大利亚市场
查看>>
股东致函雅虎董事会要求别再烧钱 雅虎反呛
查看>>
移动OA的魅力--大众点评的“企业号”运用法则
查看>>
芯片进口额远超原油 中国芯待发力
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
拥抱白帽黑客,通用宣布安全漏洞报告项目
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>