如何在运行时创建/更改主题

时间:2015-12-19 10:40:15

标签: angularjs angular-material

我想实现自定义主题选择器。那意味着 为主要,重音,警告和背景选择颜色,并不意味着选择预定义的主题。

当用户更改颜色时,我想显示更改的效果。 因此,带有一些样本的DOM的一部分会分配另一个(md-theme)主题。

我看到以下方法:

  • 使用主题,说“测试”并在运行时更改颜色。

  • 将更改注册为新主题并动态更改themename(md-theme,md-theme-watch)

    但是,我不知道如何制作任何一种方法。

似乎我只能在启动时注册主题,但这不是我需要的

1 个答案:

答案 0 :(得分:1)

与此同时,我对源(版本1.0.0)进行了深入研究。所以我得到了以下陈述

  • 第一种方法不起作用。 Angular Material仅编译一次主题。如果已编译,将跳过主题。

    我想这已经被选中以获得良好的表现。

  • 第二种方法也失败了。 Angular Material为主题元素提供了一系列主题。所以元素不会知道新创建的主题。

    我不清楚哪个设计决定导致了这一点。

为了显示主题更改我决定使用iframe。最后我有两页。当更改应用页面闪烁时,但这是可以接受的

enter image description here

相关问题