AngularJS-使用控制器将语法转换为Browserfy

AngularJS - Syntax Translation to Browserfy using Controllers

本文关键字:转换 Browserfy 语法 控制器 AngularJS-      更新时间:2023-09-26

我正在使用我的第一个应用程序,我的JavaScript技能真的非常糟糕。所以不要怀疑这个问题;)

我在上找到https://material.angularjs.org/latest/Theming/03_configuring_a_theme使用"Angular Material"主题化功能的指南。问题是我使用了Browservy,我的应用程序不接受这个语法。它在我的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"

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

您在$scope上使用config,而它应该在应用程序模块上。

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

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");
        }
    });