EmberJS 對(duì)象模型

2018-10-13 15:54 更新

面向?qū)ο蟮姆治龊驮O(shè)計(jì)技術(shù)被稱(chēng)為對(duì)象建模。在Ember.js中,所有對(duì)象都來(lái)自Ember.Object。

類(lèi)和實(shí)例

類(lèi)是一個(gè)模板或藍(lán)色打印,具有變量和函數(shù)的集合,其中作為實(shí)例與該類(lèi)的對(duì)象相關(guān)。

您可以使用Ember.Object的extend()方法創(chuàng)建新的Ember類(lèi),如下所示:

App.NameOfClass = Ember.Object.extend({
   VariableName1:'values',
   ..
   VariableNamen:'values',
   FunctionName: function(thing)
   {
      //display logic
   }
});

NameOfClass和FunctionName是類(lèi)的名稱(chēng)和在類(lèi)中定義的函數(shù)的名稱(chēng)。

讓我們看看如何使用基類(lèi)來(lái)擴(kuò)展子類(lèi),如下所示:

App.Student = Ember.Object.extend({
   disp: function() {
      var roll = this.get('rollnum');
      var name = this.get('name');
      document.write("Roll num: "+roll+" Name: "+name);
   }
});

App StudentInfo = App.Student.extend({
   rollnum:"12",
   name: "Jhon",
});

在上面的代碼中,基類(lèi)的名稱(chēng)是Student,StudentInfo是子類(lèi),它由基類(lèi)擴(kuò)展。disp是在基類(lèi)中聲明的函數(shù)的名稱(chēng),顯示學(xué)生信息。您可以使用_super()方法來(lái)立即引用父類(lèi)方法。

下表顯示如何創(chuàng)建Ember類(lèi)的實(shí)例:

序號(hào)實(shí)例和說(shuō)明
1創(chuàng)建和初始化實(shí)例
通過(guò)調(diào)用create()方法創(chuàng)建該類(lèi)的實(shí)例化,并使用init()方法自動(dòng)初始化該類(lèi)的實(shí)例。

讓我們通過(guò)點(diǎn)擊以下鏈接看到一些關(guān)于對(duì)象模型的更多詳細(xì)信息:

什么時(shí)候使用計(jì)算屬性,觀察器和綁定

  • 計(jì)算屬性將函數(shù)聲明為屬性。您可以通過(guò)將計(jì)算屬性定義為一個(gè)函數(shù)來(lái)創(chuàng)建一個(gè),當(dāng)您請(qǐng)求屬性時(shí),ember.js會(huì)自動(dòng)調(diào)用。對(duì)計(jì)算的屬性的多次調(diào)用將始終返回相同的值。

  • 如果兩個(gè)或多個(gè)對(duì)象之間存在關(guān)系,則使用Observer模式,例如,如果一個(gè)對(duì)象被更新,其依賴(lài)對(duì)象將被自動(dòng)通知。

  • 綁定有助于組合兩個(gè)不同的層使同步。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)