【问题标题】:AngularJS - Syntax Translation to Browserfy using ControllersAngularJS - 使用控制器将语法翻译成 Browserfy
【发布时间】:2016-07-26 15:16:27
【问题描述】:

我在我的第一个应用程序上,我的 JavaScript 技能真的很可怕。所以不要怀疑这个问题;)

我在https://material.angularjs.org/latest/Theming/03_configuring_a_theme 上找到了使用 Angular Material 主题化功能的指南。问题是我使用 Browserfy,而我的应用程序不接受这种语法。它在我的 Ctrl 中看起来像这样:

function userProfileCtrl($scope, $state, user) {
    'ngInject';

    $scope.config(function ($mdThemingProvider) {
        $mdThemingProvider.theme('default')
            .dark();
    });

}

export default {
    name: 'userProfileCtrl',
    fn: userProfileCtrl
};

使用此代码,我收到错误“angular.js:13708TypeError: $mdThemingProvider.theme is not a function”

那么我做错了什么?我尝试了很多东西,但不知道我在做什么,我可能白白浪费了很多时间。

【问题讨论】:

    标签: javascript angularjs material-design angular-material


    【解决方案1】:

    你在 $scope 上使用了config,而它应该在 app 模块上。

    这是我的设置,它可以工作。试试看吧。

    angular.module("app")
        .config(function($injector)
        {
            if ($injector.has("$mdThemingProvider"))
            {
                var mdThemingProvider = $injector.get("$mdThemingProvider");
    
                mdThemingProvider.theme("default")
                .primaryPalette("blue", {
                    "default": "500",
                    "hue-1": "400",
                    "hue-2": "200",
                    "hue-3": "50"
                })
                .accentPalette("green", {
                    "default": "600"
                })
                .warnPalette("red");
            }
        });
    

    【讨论】:

    • 谢谢,但我得到一个错误:6:0 错误解析错误:意外的令牌
    • 是的。它来自编译器的错误。所以我在前端看不到任何东西,因为他停止了编译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多