【问题标题】:angular-material TypeError: $mdThemingProvider.backgroundPalette is not a functionangular-material TypeError: $mdThemingProvider.backgroundPalette 不是函数
【发布时间】:2017-10-11 09:07:16
【问题描述】:

我正在使用 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

我正在使用 angular-material 版本 1.1.5。

关于为什么会发生此错误的任何想法?提前谢谢。

【问题讨论】:

    标签: javascript angularjs angular-material


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

      你必须先从提供者那里得到你想要修改的主题:

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

      【讨论】:

      • 我也尝试过,但后来出现错误“未捕获的类型错误:无法读取未定义的属性 '600'”。显然,我必须先定义白色。会这样吗?
      • 似乎白色不是预定义的颜色之一,所以看起来很可能
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 2017-07-19
      • 1970-01-01
      • 2021-12-26
      • 2020-05-01
      • 2016-07-11
      • 1970-01-01
      相关资源
      最近更新 更多