Maison > Questions et réponses > le corps du texte
.config(CoreTheme)
function CoreTheme($mdThemingProvider) {
$mdThemingProvider.theme('default')
.primaryPalette('blue',{
'default' : '500',
'hue-1' : '900',
'hue-2' : 'A100',
'hue-3' : '400'
})
.accentPalette('green',{
'default' : '600',
'hue-1' : '900',
'hue-2' : 'A100',
'hue-3' : '400'
})
.warnPalette('deep-orange',{
'default' : '500',
});
$mdThemingProvider.alwaysWatchTheme(true)
}
CoreTheme.$inject = ['$mdThemingProvider'];
export default CoreTheme;
module.js
export default angular.module('theme',['ngMaterial']);
controller.js
class ThemeCtrl{
constructor($scope,$rootScope,$mdThemingProvider){
$scope.changeTheme = changeTheme;
function changeTheme(theme_name){
$mdThemingProvider.theme('default').dark()
}
}
}
ThemeCtrl.$inject = ['$scope','$rootScope','$mdThemingProvider'];
export default ThemeCtrl;
我想在这个控制器中 动态改变主题样式 可是注入这个Provider报错!应该怎么做?
我能想到的是(1)可以在.config()中$watch某个变量 来改变主题吗?
给我你的怀抱2017-05-15 16:58:08
Question de référence
Je viens de regarder le dernier code source du matériel. Il semble qu'il n'y ait pas de fonction de rechargement. Si vous souhaitez utiliser la méthode suivante, vous devez toujours modifier le code source du matériel. Si vous ne modifiez pas le code source, veuillez ignorer cette réponse.
Vous pouvez l'essayer comme suit :
1.Modifiez le code source du matériel en fonction des réponses aux questions de référence
2. Dans la phase de configuration, enregistrez $mdThemingProvider pour une utilisation par le contrôleur
angular.module("yourModule",['whateverDependencies']).config(
function($provide, $mdThemingProvider) {
$provide.value('themeProvider', $mdThemingProvider);
})
3. Rechargez le thème dans le contrôleur
.controller('someController', function(themeProvider, $injector) {
themeProvider.theme('default').dark();
themeProvider.reload($injector);
}
曾经蜡笔没有小新2017-05-15 16:58:08
Configuring of the default theme is done by using the $mdThemingProvider during application configuration.
Le site officiel dit, veuillez le configurer dans configuration.
le matériel angulaire a déjà donné un thème lors de la génération de la page. Par exemple, une fois le bouton md généré, il s’agit du thème md-default md-button. Si vous souhaitez modifier le thème, vous pouvez parcourir la page et remplacer md-default-theme par le thème souhaité, md-dark-theme.
Mais c'est fatiguant, non ?
Il est donc préférable d'ouvrir un aperçu dans une nouvelle fenêtre après avoir sélectionné un thème.
Ou il existe une page de configuration de thème distincte qui répertorie à quoi ressemblent tous les thèmes. Ayez juste des options. Après tout, prévisualiser l’interface sur le site Web d’origine est une chose très ennuyeuse.