これApp.rootElement
は、アプリがレンダリングされるノード (デフォルトでは body タグ) ですが、それ以外はあまり機能しません (私が思うに)。Ember アプリを他の HTML から分離したい場合に便利です...
考慮できる/考慮すべきことはApp.ApplicationView
、の直後のアプリの最も外側のノードになるため、をターゲットにすることApp.rootElement
です。クラスを追加するだけclassNames: ['appRoot']
で、CSSでターゲットにできます
App.ApplicationView = Ember.View.extend({
classNames: ['appRoot'],
isActive: false,
classNameBindings: ['isActive'],
toggleClass: function(){
this.toggleProperty('isActive');
},
manuallyAddClass: function() {
this.toggleClass();
if(this.get('isActive')) {
$(App.rootElement).addClass('is-active');
} else {
$(App.rootElement).removeClass('is-active');
}
}
});
あなたのCSSは次のようなものになる可能性があります#application-root .appRoot.is-active { ... }
...