javascript - 安装 Angular Material, "Failed to instantiate module ngMaterial"即使我使用的是 angular 版本 1.3.0

标签 javascript angularjs angular-material

这非常令人沮丧,我使用的是 mean.js yeoman 生成的应用程序,但似乎无法启动和运行 Angular Material 。我读了另一个关于这个问题的 stackoverflow 问题 Angularjs with material design Failed to instantiate module ngMaterial .所以我更新了我的 bower.json 文件并运行了 bower updatebower install。它仍然不起作用。在 bower 更新期间,bower 给我这条消息 Unable to find a suitable version for angular, please choose one:,但我总是选择 Angular 版本 1.3.0 或更高版本。
这是我的 bower.json 的副本:

{
  "name": "colign",
  "version": "0.0.1",
  "description": "Full-Stack JavaScript with MongoDB, Express, AngularJS, and Node.js",
  "dependencies": {
    "bootstrap": "~3",
    "angular": "~1.3",
    "angular-resource": "~1.3",
    "angular-mocks": "~1.3",
    "angular-bootstrap": "~0.11.2",
    "angular-ui-utils": "~0.1.1",
    "angular-ui-router": "~0.2.11",
    "angular-material": "~0.10.0"
  }
}

控制台错误信息如下: 错误:[$injector:modulerr] 由于以下原因无法实例化模块 ngMaterial: 错误:[$injector:nomod] 模块“ngMaterial”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

Angular config.js 文件:

'use strict';

// Init the application configuration module for AngularJS application
var ApplicationConfiguration = (function() {
    // Init module configuration options
    var applicationModuleName = 'colign';
    var applicationModuleVendorDependencies = ['ngResource', 'ui.router', 'ui.bootstrap', 'ui.utils', 'ngMaterial'];

    // Add a new vertical module
    var registerModule = function(moduleName, dependencies) {
        // Create angular module
        angular.module(moduleName, dependencies || []);

        // Add the module to the AngularJS configuration file
        angular.module(applicationModuleName).requires.push(moduleName);
    };

    return {
        applicationModuleName: applicationModuleName,
        applicationModuleVendorDependencies: applicationModuleVendorDependencies,
        registerModule: registerModule
    };
})();

在此先感谢您的帮助!

最佳答案

Angular Material ngMaterial 也依赖于 ngAriangAnimate。您需要加载它们。

angular.module('ngMaterial', ["ng","ngAnimate","ngAria", ...other material sub modules

您可以从angular aria 下载它和 angular animate .根据您的 Angular 版本使用这些的正确版本。

此外,仅在项目中添加脚本是不够的,您还需要将它们加载到您的 html 中。还在 ng-material 脚本之前加载它们。

关于javascript - 安装 Angular Material, "Failed to instantiate module ngMaterial"即使我使用的是 angular 版本 1.3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31032714/

相关文章:

html - Angular Material md-button 不工作

javascript - 检查哪些数组元素具有空值

mysql - 如何使用mysql将列NULL值从 Angular 传递到 Node

php - 使用原生 javascript 发送 json

angularjs - 在 AngularJS 中,为什么不能通过简单的函数访问 $scope 变量?

javascript - Ionic/Angular - 刷新应用简历上的文章

javascript - ng-model 不适用于 md-menu angularjs Material

angular - ngx-mat-select-search 不起作用

javascript - 循环处理时 onClick 中重复 id

javascript - AngularJS,如何在父级中使用子级的 JSON?