Я создаю одно веб-приложение с угловым материалом. Сначала я начал работать только по одной теме. позже мои требования изменены, чтобы использовать другую тему в некоторых компонентах пользовательского интерфейса. Когда я пытаюсь применить новую тему, то есть "лайм". Но он применяется для панели инструментов.
Проблема $mdThemingProvider.setDefaultTheme('indigo');
с $mdThemingProvider.setDefaultTheme('indigo');
Если я удалю метод setDefaultTheme, он работает, но для этого мне нужно изменить больше кода в существующих файлах.
Мне нужно работать со стандартным методом и использовать другую тему.
вот мой код.
Я думаю, вы пропустили тег для часов в своем коде
$mdThemingProvider.alwaysWatchTheme(true);
Вы также должны добавить md-theme-watch
в свой шаблон.
<div>
<md-button ng-click="dynamicTheme = 'default'">Default</md-button>
<md-button ng-click="dynamicTheme = 'altTheme'">altTheme</md-button>
<div md-theme="{{ dynamicTheme }}" md-theme-watch>
<md-button class="md-primary">I'm dynamic</md-button>
</div>
</div>
Я обновил плункер
http://plnkr.co/edit/dEIGT3y1l85TOH1bKdMD?p=preview
Вы можете прочитать документацию здесь
https://material.angularjs.org/latest/Theming/04_multiple_themes