警告:试图加载角度不止一次。 UI路由器

时间:2015-03-24 16:51:32

标签: javascript angularjs

使用 ui-router angularjs面对一些奇怪的事。我正在使用这些框架配置单页面应用程序。 这是我的代码

function initWmappConfig($stateProvider, $locationProvider, $compileProvider) {
    $locationProvider.html5Mode(true);
    $stateProvider.
        state('login', { url: '/', templateUrl: '/Views/login', controller: 'login-controller', controllerAs: 'vm' })
        .state('register', { url: '/register', templateUrl: '/Views/Register', controller: 'login-controller', controllerAs: 'vm' });

    $stateProvider.state('otherwise', {url: '/'});

    $compileProvider.debugInfoEnabled(false);
}

如果我使用上述配置,我将面临这场战争

  

警告:尝试多次加载角度

但另一方面如果我简单改变

$locationProvider.html5Mode(false);
然后一切似乎都很好......

请让我知道为什么会这样。

由于

2 个答案:

答案 0 :(得分:1)

这是因为您没有在templateUrl中提及.html扩展程序

  state('login', { url: '/', templateUrl: '/Views/login.html', controller: 'login-controller', controllerAs: 'vm' })
  .state('register', { url: '/register', templateUrl: '/Views/Register.html', controller: 'login-controller', controllerAs: 'vm' });

同样适用于otherwise,您需要使用$urlRouterProvider

$urlRouterProvider.otherwise('/');

答案 1 :(得分:0)

我收到了这个错误。 这背后的原因是使用jQuery。

<script src="http://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="/public/vendor/angular/angular.js" type="text/javascript"></script>
<script src="/public/vendor/angular/angular-route.js" type="text/javascript"></script>

我删除了以下内容并且警告消失了:

<script src="http://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>