Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将$routeProvider与$stateProvider一起使用_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 将$routeProvider与$stateProvider一起使用

Angularjs 将$routeProvider与$stateProvider一起使用,angularjs,angular-ui-router,Angularjs,Angular Ui Router,一开始我只是使用$routeProvider,如下所示,它给了我想要的东西 angular.module('angularProject', ['angularProject.filters', 'angularProject.services', 'angularProject.directives', 'angularProject.controllers']) .config(['$routeProvider', function($routeProvider) { $rout

一开始我只是使用$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路由器
自己的
$routeProvider
实现,名为

基本正确:它们不打算一起使用,但是,
ui.router
公开了一个
$routeProvider
作为其兼容层的一部分,以便在从
ngRoute
迁移时使用。
$urlRouterProvider
用于管理URL,但主要用于重定向和
否则()
(全面)URL.Yah。。你们都是对的..但是$stateProvider用于更改接口的内部视图..Wt关于根url,并指定应使用此控制器…例如,我想这样使用$urlRouterProvider。否则('/home')$urlRouterProvider。当('/home',{title:'home',templateUrl:'views/home.html',controller:'homeCtrl'})我解决了这个问题,伙计们..我想我使用$urlRouterProvider的方式是错误的..非常感谢你的建议..你能使用routeProvider处理身份验证吗,即对未登录的用户隐藏视图?