codecamp

EmberJS 绑定

绑定

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

CarBuyer = Ember.Object.create({
   TotalPrice: 860600
});

MarutiZen = Ember.Object.extend({
   TotalPrice: Ember.computed.alias('CarBuyer.TotalPrice')
});

zen = MarutiZen.create({
   CarBuyer: CarBuyer
});

上面的代码描述了如何绑定两个属性,如 CarBuyer和MarutiZen 如果 MarutiZen 更新,它将反映在 CarBuyer 中。

例子

<!DOCTYPE html>
<html>
   <head>
      <title>Emberjs Bindings</title>
      <!-- CDN's-->
      <script src="/attachements/w3c/handlebars.min.js"></script>
      <script src="/attachements/w3c/jquery-2.1.3.min.js"></script>
      <script src="/attachements/w3c/ember.min.js"></script>
      <script src="/attachements/w3c/ember-template-compiler.js"></script>
      <script src="/attachements/w3c/ember.debug.js"></script>
      <script src="/attachements/w3c/ember-data.js"></script>
   </head>
   <body>
   <script type="text/javascript">
      CarBuyer = Ember.Object.create({
         //primary value
         TotalPrice: 860600
      });

      MarutiZen = Ember.Object.extend({
         //Giving Alias to the dependents
         TotalPrice: Ember.computed.alias('CarBuyer.TotalPrice')
      });

      //create the object of MarutiZen
      zen = MarutiZen.create({
         CarBuyer: CarBuyer
      });
      document.write('Before Value: '+zen.get('TotalPrice'));
      // Car price gets raise.
      zen.set('TotalPrice', 930000);
      //Effects the CarBuyer
      document.write('After Updating any one MarutiZen Value: '+CarBuyer.get('TotalPrice'));
   </script>
   </body>
</html>

输出

让我们执行以下步骤来了解上述代码的工作原理:

  • 将以上代码保存在 bindings.html 文件中。

  • 在浏览器中打开此HTML文件。

温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }