javascript - Uncaught Error : [$injector:modulerr] when using ui. 路由器

标签 javascript angularjs angular-ui-router

我正在尝试使用ui.router使用路由通过url传递参数,但是我陷入了第一个障碍,因为我似乎无法让ui-router注册,所以我收到以下错误。

Uncaught Error: [$injector:modulerr]

我已将 ui.router js 文件包含在一个配置文件中,如下所示: './build/lib/ui-router/release/angular-ui-router.min.js'

然后我将 ui.router 包含在我的模块中:

topic.Module = angular.module('topic', ['ui.router']);

并尝试创建一个示例状态,如下所示:

topic.Module.config(['$stateProvider', function($stateProvider) {
    $stateProvider
        .state('app', {
            url: '/'
        });
}]);

是否有任何明显的我正在做或没有做的事情会导致此功能不起作用或出现上述错误?我已经完全删除了状态的内容,以确认没有其他原因导致错误。

我尝试过包含 'ui-router' 而不是 'ui.router' 我已将其包含在主应用程序模块中,也得到了相同的结果。

最佳答案

对于遇到此问题的任何人来说,似乎 $urlRouterProvider 以及 $stateProvider 都是必需的。

因此,请包含 $urlRouterProvider 并添加以下内容来设置默认路由: $urlRouterProvider.otherwise('/');

所以上面的例子看起来像这样:

topic.Module.config(['$stateProvider', '$urlRouterProvider'  function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
        .state('app', {
            url: '/'
        });
}]);

关于javascript - Uncaught Error : [$injector:modulerr] when using ui. 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481843/

相关文章:

javascript - 为什么对话框模式需要放置为主体的最后一个直接子级?[辅助功能,a11y]

javascript - 将 JavaScript 变量分配给 AngularJS 范围对象并显示它

javascript - Angular 1.0 到 Angular 1.6 [错误]

javascript - Angular 模板仅从 MeteorJS 的根目录加载

javascript - Controller 未加载 ui-router 中的状态

angularjs - Angular ui.router,从子 Controller 调用父 Controller 函数?

在 dom 元素上执行 Javascript For 循环

javascript - Angular2 捆绑和缩小

javascript - Angular Jasmine : 'undefined' is not an object - broadcast within timeout - error

javascript - 我可以检查我的 API key 是否充分隐藏在 Node.js 中以推送到 github 吗?