如何在ember中更改不同页面的正文背景
How to Change body background for different pages in ember
我正在开发ember应用程序,我想有注册页面和登录页面的白色背景和其余的页面应该有灰色背景。
此刻我正在改变控制器(application.js文件)正文标签的颜色
import Ember from 'ember';
export default Ember.Controller.extend({
isVerified:false,
bgColour: function(){
if(['users.login','users.signup'].indexOf(this.get('currentPath')) != -1){
return 'white';
}
else{
return 'bg-grey';
}
}.property('currentPath'),
});
有什么建议如何使这个更好/更干净的方式?
Kit的答案很常见,我们对我们的应用程序也做了同样的事情。但是如果你真的只需要在背景更改时生成类名,你可以通过避免生成类名来简化它:
export default Ember.Route.extend({
activate () {
Ember.$('body').addClass('bg-white');
},
deactivate () {
Ember.$('body').removeClass('bg-white');
}
});
我们必须处理来自客户端的大量任意请求,其中最简单的方法就是简单地针对特定页面,因此我们将路由名称添加到body
。
Ember.Route.reopen({
activate: function() {
var cssClass = this.toCssClass();
// you probably don't need the application class
// to be added to the body
if (cssClass != 'application') {
Ember.$('body').addClass(cssClass);
}
},
deactivate: function() {
Ember.$('body').removeClass(this.toCssClass());
},
toCssClass: function() {
return this.routeName.replace(/'./g, '-').dasherize();
}
});
这是一个很大的脏,你可以创建一个ThemeMixin
并设置在路由上。这是一个更简单的版本:https://github.com/ronco/ember-cli-meta-tags
相关文章:
- 正在将图像加载到文档中.正文背景
- 悬停时更改正文背景
- 如何更改网站正文元素的背景以与幻灯片放映相对应
- 如何使用切换更改正文背景颜色
- 通过点击更改背景正文图像
- 更改正文中的背景图像
- 如何使用jQuery单击时更改正文元素的背景图像
- 如何使用javascript使用按钮更改正文的背景颜色
- 正文背景图像无法全屏显示
- 背景大小设置为包含的正文标签上的位置和缩放元素
- 将正文的背景图片设置为用户输入的带有Javascript的URL
- 根据季节(当前日历月)更改<正文>(在 CSS 中)的背景图像
- 无法更改正文的背景
- 使用 jQuery 更改正文背景图像
- 正文背景图像旋转应支持动态数量的图像
- jQuery'css不是't向正文添加背景属性
- 当文本输入具有焦点时,淡入正文背景
- 幻灯片展示网站正文的背景
- jQuery使用渐变效果更改正文的背景URL
- 如何在页面加载后(加载所有站点图像后)完全加载正文背景图像