angularjs - 将$ routeProvider与$ stateProvider一起使用

标签 angularjs angular-ui-router

开始时,我只是按如下方式使用$ routeProvider,它给了我想要的东西。

angular.module('angularProject', ['angularProject.filters', 'angularProject.services', 'angularProject.directives', 'angularProject.controllers'])
  .config(['$routeProvider', function($routeProvider) {
    $routeProvider
      .when('/home', {
        title: 'Home',
        templateUrl: 'partials/home.html',
        controller: 'homeCtrl'
      })
      .otherwise({redirectTo: '/home'});
  }]);

但是,当我还想按如下方式使用$ stateProvider时,它既不会给我错误,也不会允许我更改状态。
var myapp=angular.module('angularProject', ['ui.bootstrap','ui.router','angularProject.filters', 'angularProject.services', 'angularProject.directives', 'angularProject.controllers'])
  myapp.config(['$routeProvider', '$stateProvider',function($routeProvider,$stateProvider) {
    $routeProvider
      .when('/home', {
        title: 'Home',
        templateUrl: 'views/home.html',
        controller: 'homeCtrl'
      })
      .otherwise('/home');
    $stateProvider
        // .state('index', {
            // url: "",
            // views: {
                // "viewA": {
                    // template: "index.viewA"
                // },
                // "viewB": {
                    // template: "index.viewB"
                // }
            // }
        // })
        .state('route1', {
            url: "/route1",
            views: {
                "viewA": {
                    template: "route1.viewA"
                },
                "viewB": {
                    template: "route1.viewB"
                }
            }
        })
        .state('route2', {
            url: "/route2",
            views: {
                "viewA": {
                    template: "route2.viewA"
                },
                "viewB": {
                    template: "route2.viewB"
                }
            }
        })
     // .otherwise({redirectTo: '/home'});
  }]);

任何有关如何将$ stateProvider与$ routeProvider一起使用的帮助将不胜感激。

最佳答案

我认为不可能,而且 ui.router 不能与 ngRoute 一起使用。
根据ui-router docs,您应该使用ui-router自己的$routeProvider实现,称为 $urlRouterProvider

关于angularjs - 将$ routeProvider与$ stateProvider一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888519/

相关文章:

angularjs - 当状态发生变化时,如何防止重新加载命名 View ? AngularJS UI-路由器

javascript - 在 Angular 1.5 中使用 Typescript

javascript - 带有父变量的 Angular 单元测试观察者

javascript - Protractor 错误(NoSuchElementError : No element found using locator: by. 模型 ("username"))

angularjs - 是否可以在网络 worker 中运行 Angular?

javascript - Angular Material Flex 给出了错误的尺寸

angularjs - 将react-redux集成到现有的Angularjs应用程序中

javascript - 子状态不从父状态继承已解决的依赖关系

javascript - Angular UI Router 在运行时替换 View

javascript - Angular 将 URL 中的 "/"替换为 "%2F"