EmberJS - 绑定

绑定是 Ember.js 的一个强大功能,它有助于在两个属性之间创建链接,如果其中一个属性发生变化,另一个属性也会自动更新。您还可以绑定同一个对象或不同的对象。

语法

ClassName1 = Ember.Object.create ({
   //代码在这里
});

ClassName2 = Ember.Object.extend ({
   //代码在这里
});

ClassName3 = ClassName2.create ({
   //代码在这里
});

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

示例

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

import Ember from 'ember';

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

   var Car = Ember.Object.extend ({
      //创建另一个属性的别名
      TotalPrice: Ember.computed.alias('CarOne.TotalPrice')
   });

   var CarTwo = Car.create ({
      CarOne: CarOne
   });
   document.write('Value of car before updating: ' + CarTwo.get('TotalPrice'));
   
   //设定汽车价格
   CarTwo.set('TotalPrice', 930000);
   
   //以上汽车价格影响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.html