使用 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);
然后一切似乎都很好......
请让我知道为什么会这样。
由于
答案 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>