ember.js:ノート5を使ってviewを使う
1302 ワード
routeが設定されている場合、tableを例にとると、対応するテンプレートの範囲を以下のように設定することができる.
以下のように新規に作成することもできます.これは、テンプレートのthisです.
簡単な設定:全体のラベルを設定します. tagName
classの設定: className:[](固定値に適合); classNameBinds[](これは他のプロパティ設定またはメソッドで返されるため、値を変更するのに適しています)は、同様にtemplateでclassnameを設定する方法を使用します.['isEnabled:enabled:disabled'] などです.
他のattr属性 を設定する.
eventメソッドの設定:設定されたメソッドはview内のすべてのelementに構成されます.
テンプレートの使用:テンプレートの書式はhtmlテンプレートと同じです.
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でメソッドを定義できます.
App.TableView = Em.View.extend({
});
App.TableIndexView = Em.View.extend({
});
以下のように新規に作成することもできます.これは、テンプレートのthisです.
{{#view InnerView}}......{{/view}}
InnerView = Ember.View.extend({});
簡単な設定:
eventメソッドの設定:設定されたメソッドはview内のすべてのelementに構成されます.
テンプレートの使用:テンプレートの書式はhtmlテンプレートと同じです.
template: Ember.Handlebars.compile(""),
didInsertElementの使用:renderとdomのロードが完了した後に実行されます.また、異なるタイミングで実行される方法もあります.
tablesとtableを例に、異なるurlジャンプ時の実行:
x/tables/id 1->x/tables/id 2間をジャンプする場合、controllerでメソッドを定義できます.