javascript - 从 ngRoute 迁移到 ui.router

标签 javascript angularjs angular-ui-router ngroute

我在从 ngroute 迁移到 ui.router 时遇到问题:

使用 ngroute 我有几个 Angular 文件:

模块.js

angular.module('betTogether', ['ngRoute']);

路由.js

angular.module('betTogether').config(['$routeProvider',
    function (
        $routeProvider
    ) {
          $routeProvider.
              when('/descriptionBets', {
                  templateUrl: 'descriptionBets',
                  controller: 'descriptionBetsCtrl'
              }).
              when('/normalBets', {
                  templateUrl: 'normal',
                  controller: 'normalBetsCtrl'
              }).
              when('/addBet', {
                  templateUrl: 'addBet',
                  controller: 'addBetCtrl'
              }).
              otherwise({
                  redirectTo: '/descriptionBets'
              });
}]);

normalBets.js

angular.module('betTogether').controller('normalBetsCtrl', [
'$scope','$http',

function($scope,$http){

    $scope.typeBetsImages = [{link: "images/basketball.png", title:"basketball"},
                {link: "images/tenis.png", title: "tenis"},
                {link: "images/volleyball.png", title: "volleyball"},
                {link: "images/football.png", title:"football"}
    ];

    $http.get("/normalBets").success(function(data){
        $scope.normalBets = data;
    });

}]);

...以及其他 Controller 。一切正常。 现在我想迁移到 ui-router。所以我像这样更改 module.js 和 Route.js :

模块.js

angular.module('betTogether', ['ui.router']);

路由.js

angular.module('betTogether').config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider){
                // For any unmatched url, send to /business
                $urlRouterProvider.otherwise("/descriptionBets")

                $stateProvider
                        .state('descriptionBets', {//State demonstrating Nested views
                            url: "/descriptionBets",
                            templateUrl: "descriptionBets",
                            controller: "descriptionBetsCtrl"
                        })
                        .state('normalBets', {//nested state [products is the nested state of business state]
                            url: "/normalBets",
                            templateUrl: "normal",
                            controller: "normalBetsCtrl"
                        })
                        .state('addBet', {//nested state [services is the nested state of business state]
                            url: "/addBet",
                            templateUrl: "addBet",
                            controller: "addBetCtrl"
                        });

            }]);

而且它不起作用。我有错误:

Error: [$injector:nomod] http://errors.angularjs.org/1.3.10/$injector/nomod?p0=betTogether angular.min.js:6:417

...它适用于每个 Controller 的第一行。

有人可以帮助我吗?

PS:抱歉我的英语不好,希望你能理解。

最佳答案

检查您的 <script> 的顺序导入您的 index.html 。您可能已包含 ui-router您的 betTogether 之后的模块module 而它应该位于它之前,因为 betTogether取决于ui.router .

关于javascript - 从 ngRoute 迁移到 ui.router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925186/

相关文章:

javascript - 如何调试 Angular 库错误?

javascript - Redux reducer 获取字符串而不是对象

php - 如何将 css 代码存储在与 Javascript 一起使用的 php 变量中

javascript - 如何访问 DIV 的 innerHTML onclick(ng-click)Angular JS 中的按钮

javascript - 单击按钮时在两个功能之间切换。

javascript - Protractor 无法点击 <a> 元素内的嵌入 <span>

javascript - Angular UI 路由器依赖组件解析

javascript - window.close() 在 Firefox 上不起作用,有什么解决办法吗?

javascript - 如何在单击html中的按钮时将视频作为弹出窗口播放

javascript - AngularJS ui 路由哈希前缀