ember.js:ノート5を使ってviewを使う

1302 ワード

routeが設定されている場合、tableを例にとると、対応するテンプレートの範囲を以下のように設定することができる.
App.TableView = Em.View.extend({

});

App.TableIndexView = Em.View.extend({

});


以下のように新規に作成することもできます.これは、テンプレートのthisです.
{{#view InnerView}}......{{/view}}



InnerView = Ember.View.extend({});

簡単な設定:
  • 全体のラベルを設定します.
  • tagName

  • classの設定:
  • className:[](固定値に適合);
  • classNameBinds[](これは他のプロパティ設定またはメソッドで返されるため、値を変更するのに適しています)は、同様にtemplateでclassnameを設定する方法を使用します.['isEnabled:enabled:disabled']
  • などです.
  • 他のattr属性
  • を設定する.
    eventメソッドの設定:設定されたメソッドはview内のすべてのelementに構成されます.
    テンプレートの使用:テンプレートの書式はhtmlテンプレートと同じです.
       template: Ember.Handlebars.compile(""),

    didInsertElementの使用:renderとdomのロードが完了した後に実行されます.また、異なるタイミングで実行される方法もあります.
    tablesとtableを例に、異なるurlジャンプ時の実行:
  • x/x->x/tables:tablesIndexViewとtablesViewを同時に実行します.
  • x/tables->x/tables/id 1:tableviewのみ実行;
  • x/tables/id 1->x/tables/id 2:実行しません.
  • x/tables/id 1->x/tables:tablesIndexViewのみ実行;

  • x/tables/id 1->x/tables/id 2間をジャンプする場合、controllerでメソッドを定義できます.