我在使用AngularJS的ui-router插件时遇到了麻烦:
angular.module('myApp', []).
config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) {
$stateProvider
.state('mandats', {
url: '/domiciliations/mandats',
templateUrl: 'domiciliations/views/mandats.html',
controller: 'mandatsCtrl'
});
}])
然后我在启动时遇到此错误:
Unknown provider: $stateProvider
我按顺序包含了javascripts:
<script src="/Scripts/libs/angular/angular.js"></script>
<script src="/Scripts/libs/angular/angular-resource.js"></script>
<script src="/Scripts/libs/angular/angular-ui-states.js"></script>
可能是什么问题?
[编辑]
我通过添加'ui.compat'作为myApp的依赖项来消除错误消息。我在ui-router的示例代码中看到了这一点,但在文档中没有。这是关于什么的?
尽管如此,它仍然无效。我已将ui-view添加到应用程序索引文件中的div。但页面仍然是空白的。
答案 0 :(得分:15)
以下代码应该完成这项工作。至少在我的情况下,让我知道它是否有效。
angular.module('myApp', ['ui.compat']).
config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) {
$stateProvider
.state('mandats', {
url: '/domiciliations/mandats',
templateUrl: 'domiciliations/views/mandats.html',
controller: 'mandatsCtrl'
});
}])
现在关于您的页面为空的问题。确保浏览器中的URL与您所在州的任何URL不匹配。在浏览器中尝试这个'#/ domiciliations / mandats',看看视图是否得到了适当的渲染。并非绝对网址应与 http:// [HOST_NAME] /home.html#/domiciliations/mandats 类似。
答案 1 :(得分:13)
您只需要将ui-router模块包含为依赖项。
喜欢以下
angular
.module('myApp', ["ui.router"])
.config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) {
...
}]);
答案 2 :(得分:3)
包括angular-ui v0.0.2将解决问题。