Emberjs-classinstance

提供:Dev Guides
移動先:案内検索

EmberJS-クラスとインスタンス

クラスは、変数または関数のコレクションを含むテンプレートまたはブループリントであり、インスタンスはそのクラスのオブジェクトに関連しています。 Ember.ObjectでEmberクラスを作成および拡張することは、Emberオブジェクトモデルの主要なプロパティです。

クラスの定義

Ember.Objectの_extend()_メソッドを使用して、新しいEmberクラスを作成できます-

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

上記のコードは、初期化子、計算されたプロパティなどからプロパティを継承する「デモ」と呼ばれる新しいEmberクラスを作成します。 クラスを作成した後、以下に示すようにcreate()メソッドを使用して、そのインスタンスを作成する必要があります-

const state = Demo.create();

上記のインスタンス「状態」を使用して、setおよびgetアクセサーメソッドを使用してプロパティにアクセスします。

console.log(state.get('stateOn'));

以下に示すように、setメソッドを使用して「stateon」プロパティを変更できます-

state.set('stateOn', true);

インスタンスの初期化

_init()_メソッドを呼び出すことにより、新しいインスタンスを初期化できます。 クラスでオブジェクトを宣言する場合、_init()_メソッドで各インスタンスを初期化する必要があります。

次の例では、上記のプロパティを使用し、Emberオブジェクトが初期化されたときに警告メッセージを表示します-

import Ember from 'ember';  //import ember module
export default function() {

  //new ember object
   const Demo = Ember.Object.extend ({
      init() {
         alert('The default property of stateOn is : ' + this.get('stateOn'));
      },
      stateOn: false
   });

   const state = Demo.create();  //new instance from object with create() method
   state.set('stateOn', true);
   console.log(state.get('stateOn'));
}

今_app.js_ファイルを開き、ファイルの上に次の行を追加します-

import classinstance from './classinstance';

ここで、classinstanceは、「classinstance.js」として指定され、「app」フォルダーの下に作成されるファイルの名前です。 次に、エクスポートの前に、下部の継承された「classinstance」を呼び出します。 これは、classinstance.jsファイルで作成されたclassinstance関数を実行します-

classinstance();

出力

エンバーサーバーを実行すると、次の出力が表示されます-

Ember.jsクラスインスタンス