使用ngAnimate作为依赖项时MVC4和AngularJS错误

Jas*_*nce 1 javascript dependency-injection asp.net-mvc-4 angularjs

我是Angular和依赖注入的新手.我在页面加载时收到以下错误.我正在尝试在.Net/MVC4中创建类似此示例的表单向导.任何帮助是极大的赞赏.

未捕获错误:[$ injector:unpr]未知提供者:$$ qProvider < - $$ q < - $ animate < - $ compile

在视图头中加载的脚本:

<script src="@Url.Content("/Scripts/bower_components/angular/angular.js")"></script>
<script src="@Url.Content("/Scripts/bower_components/angular-ui-router/release/angular-ui-router.js")"></script>
<script src="@Url.Content("/Scripts/bower_components/angular-animate/angular-animate.js")"></script>
<script src="@Url.Content("/Scripts/modules/long-form-app-module/LongFormApp.js")"></script>
<script src="@Url.Content("/Scripts/modules/long-form-app-module/LongFormController.js")"></script>
Run Code Online (Sandbox Code Playgroud)

HTML标记

<div class="application">

  <!-- Inject partial view from router -->
  <section ui-view></section>

</div>
Run Code Online (Sandbox Code Playgroud)

LongFormApp.js脚本

(function () {

  'use strict';

  // Create our app and inject ngAnimate and ui-router 
  angular.module('GllApp', ['longFormController'])
    .config(function ($stateProvider, $urlRouterProvider) {

    // Catch all route
    // By default send user to question one
    $urlRouterProvider.otherwise('/home');

    $stateProvider

      // Route to show start of form
      .state('home', {
        url: '/home',
        templateUrl: 'LongForm.html',
        controller: 'LongFormController'
      })

      // Route to show start of form
      .state('home.q01', {
        url: '/home/q01',
        templateUrl: 'LongFormQuestion01.html'
      });

  });

})();
Run Code Online (Sandbox Code Playgroud)

LongFormController.js脚本

(function () {

  'use strict';

  angular.module('longFormController', ['ngAnimate', 'ui.router'])
  .controller('LongFormController', ['$scope', function ($scope) {

    // do stuff

  }]);

})();
Run Code Online (Sandbox Code Playgroud)

小智 7

我刚刚用我的项目解决了这个问题.根本原因是我依赖于"角度 - 动画":"~1.3.0",所以凉亭使用Angular v1.3,即使项目的其余部分依赖于Angular 1.2.

只是用

"angular-animate": "~1.2.0"
Run Code Online (Sandbox Code Playgroud)

代替

"angular-animate": "~1.3.0"
Run Code Online (Sandbox Code Playgroud)

在你的bower.json文件中.之后bower install就可以工作了!