无法注入依赖项ngMaterial

时间:2017-07-07 01:31:00

标签: javascript angularjs angularjs-1.6 angularjs-material

我希望开发一个同时使用dirPagination和AngularJS材质的应用程序。但是,我无法将ngMaterial依赖项注入我的应用程序。 angularUtils.directives.dirPagination依赖项工作正常,但只要我添加ngMaterial,AngularJS应用程序就会崩溃。

这是一个带有示例(https://plnkr.co/edit/7N7i9TnMc77Nz6xlNhuk?p=preview)的Plunker。在app.js中,这是我实例化模块的地方,两个依赖项都在那里。如果该行显示:

angular.module('myApp', ['angularUtils.directives.dirPagination', 'ngMaterial']);

然后AngularJS崩溃,页面显示为{{hello}}。但是,因为在控制器中,我将$scope.hello设置为"Hello Plunker!",如果该行显示为:

angular.module('myApp', ['angularUtils.directives.dirPagination']);

然后页面显示“Hello Plunker!”。

我做错了什么?

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

  1. 您需要在任何其他要使用angular的脚本之前包含 angular.js 。在这里,您可以在 angular.js

  2. 之前添加 script.js
  3. 您还需要使用与 angular.js 版本相同版本的角度模块 angular-animate,angular-aria,angular-messages 在这里您使用了angular.js

    1.6.4版本
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-animate.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-aria.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-messages.min.js"></script>
    
  4. 您可以检查我对您的plnkr https://plnkr.co/edit/En0YaiaiqD1MPPOydAf8?p=preview

    所做的修改

    对于bootstrap.min.css的跨域请求也有错误,可以使用

    轻松修复
      

    的https://

    CDN

答案 1 :(得分:0)

您缺少material.css的脚本,订单错误。

  <script data-require="angular.js@1.3.0" data-semver="1.3.0" src="https://code.angularjs.org/1.3.0/angular.js"></script>
  <link rel="stylesheet" href="//rawgit.com/angular/bower-material/master/angular-material.css" />
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
  <script src="script.js"></script>
  <script src="dirPagination.js"></script>

<强> WORKING DEMO

答案 2 :(得分:0)

这是一个有效的演示,有版本问题以及声明@Html.DropDownListFor(model => model.tableName, Model.TableList as SelectList, "Select Table") 文件的顺序。

&#13;
&#13;
JS
&#13;
&#13;
&#13;

答案 3 :(得分:0)

我将添加angular-material.js需要angular-animate.jsangular-aria.js,而后两个应该放在angular-material.js之前。似乎不需要angular-messages.js