免责声明:我对Ember很陌生,所以放轻松。:)
我试图有一个类出现,是"is-home"的div上的应用程序视图,得到渲染,如果App.get('currentPath')的值设置为'index'。下面的代码用于设置类,但是,只有在加载时才会这样做。如果您加载页面并单击链接,则不会重新运行逻辑来删除类,如果您从主页上导航,或者如果您在不同的页面上输入但随后导航到主页,则不会添加类。我确信我错过了一些简单的东西。
任何帮助将非常感激!
当前代码(注意:我使用Ember App Kit)
// app/views/application.js
export default Ember.View.extend({
classNameBindings: ['isHome'],
isHome: function() {
if (App.get('currentPath') == 'index') {
return true;
} else {
return false;
}
}.property()
});
App.get('currentPath')的功能来源于此答案https://stackoverflow.com/a/18302740/3403881
当currentPath
属性发生变化时,你必须告诉属性更新
isHome: function() { ... }.property('currentPath')
然而,我不是100%肯定,如果它会找到currentPath
属性上的视图,因为它在技术上存在于控制器上。你可能要看controller.currentPath