首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角4用户定义的主题

角4用户定义的主题
EN

Stack Overflow用户
提问于 2017-11-03 10:01:46
回答 2查看 86关注 0票数 1

我有一个应用程序,用户选择4种颜色:

  1. 品牌
  2. 重音
  3. 对比
  4. 重音灯

这些数据存储在用户记录中,当用户登录时,我将检索和缓存这些数据。

我一直在寻找一种方法来用这些样式在全球范围内对应用程序进行主题化。例如h1 - h3标签有一个边框底部:$brand;

我看过一些类似的解决方案,但它们都遵循相同的预定义主题概念。

Angular2: Update all color assignments in CSS dynamically

如何在整个应用程序中全局使用用户颜色?

EN

回答 2

Stack Overflow用户

发布于 2017-11-03 10:40:23

如果没有太多的差异(或使用SASS)和一些主题

代码语言:javascript
复制
<div [ngClass]="theme">
 <h1>Hello word</h1>
 <router-oulet><router-oulet>
</div>

vendor.css中的css或app.module.css中的css如果组件具有封装: ViewEncapsulation.None,

代码语言:javascript
复制
.Brand h1
{
    color:red;
}
.Accent h1
{
   color:blue
}

然后在app.component.ts中分配主题变量

票数 0
EN

Stack Overflow用户

发布于 2017-11-03 11:16:14

您可以尝试使用javascript函数https://plnkr.co/edit/b2kAztHntMuNjTfOv8jD?p=preview (它不是我的)

在.js中

代码语言:javascript
复制
var myJavaCall = (function() {

  return {
    func1: function(saludo) {
      alert(saludo+' function 1 called');
    }
  }

})(myJavaCall ||{})

然后,在你的component.ts

代码语言:javascript
复制
import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import 'external.js'

declare var myJavaCall: any;

export myComponent{
  ...I can use myJavaCall.func1('Hello world') ...

}

是的,您必须寻找更改或导入css的javascript方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47092980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档