EmberJS - 绑定



绑定是 Ember.js 中一项强大的功能,可帮助在两个属性之间创建一条链接,并且当其中的一个属性发生改变后,另一个属性会自动更新。还可以绑定同一个对象或不同的对象。

语法

ClassName1 = Ember.Object.create ({
   //code here
});

ClassName2 = Ember.Object.extend ({
   //code here
});

ClassName3 = ClassName2.create ({
   //code here
});

语法描述了两个属性ClassName1ClassName2 的绑定,如果ClassName2 已更新,将反映在ClassName1 中。

示例

以下示例在两个属性之间创建链接,并当一个属性发生改变时更新另一个属性 −

import Ember from 'ember';

export default function() {
   var CarOne = Ember.Object.create ({
      //primary value
      TotalPrice: 860600
   });

   var Car = Ember.Object.extend ({
      //creates property which is an alias for another property
      TotalPrice: Ember.computed.alias('CarOne.TotalPrice')
   });

   var CarTwo = Car.create ({
      CarOne: CarOne
   });
   document.write('Value of car before updating: ' + CarTwo.get('TotalPrice'));
   
   //sets the car price
   CarTwo.set('TotalPrice', 930000);
   
   //above car price effects the CarOne
   document.write('<br>Value of car after updating: ' + CarOne.get('TotalPrice'));
}

现在打开app.js 文件,在文件顶部添加以下行 −

import objectmodelbindings from './objectmodelbindings';

其中,objectmodelbindings 是指定为“objectmodelbindings.js”的文件名称,并且在“app”文件夹下创建。

接下来在导出前在底部调用继承的“objectmodelbindings”,它执行在objectmodelbindings.js 文件中创建的 objectmodelbindings 函数 −

objectmodelbindings();

输出

运行 ember 服务器,将获得以下输出 −

Ember.js Object Model Bindings

通过使用单向绑定(在本 链接 中进行了解释)来执行对象模型绑定向单方向传播更改。

emberjs_object_model.htm
广告