angular-material TypeError:$ mdThemingProvider.backgroundPalette不是函数

时间:2017-10-11 09:07:17

标签: javascript angularjs angular-material

我正在使用md-tabs,并希望将背景颜色从默认的浅灰色设置为白色。在我的模块中,我定义了这个:

var module = angular.module('myMod', ['ngMaterial']);
module.config(function ($mdThemingProvider) {
    $mdThemingProvider.backgroundPalette('white');
});

当我启动应用程序时,出现以下错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module myMod due to:
TypeError: $mdThemingProvider.backgroundPalette is not a function

我正在使用角质材料版本1.1.5。

有关此错误发生原因的任何想法?提前完成。

2 个答案:

答案 0 :(得分:1)

我明白了。在模块中,必须为所有阴影定义白色:

var module = angular.module('myMod', ['ngMaterial']);
module
.config(function ($mdThemingProvider) {
    $mdThemingProvider.definePalette('white', {
        '50': 'ffffff',
        '100': 'ffffff',
        '200': 'ffffff',
        '300': 'ffffff',
        '400': 'ffffff',
        '500': 'ffffff',
        '600': 'ffffff',
        '700': 'ffffff',
        '800': 'ffffff',
        '900': 'ffffff',
        'A100': 'ffffff',
        'A200': 'ffffff',
        'A400': 'ffffff',
        'A700': 'ffffff'
    });
    $mdThemingProvider
        .theme('default')
        .backgroundPalette('white');
});

并且必须在元素的相应html中设置颜色。就我而言:

<md-content md-colors="{'background-color': 'white'}">...</md-content>

答案 1 :(得分:0)

您必须首先从提供者处获取要修改的主题:

$mdThemingProvider.theme('default')
     .backgroundPalette('white');