Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Angular ui router $urlRouteProvider,简单路由_Angular Ui Router - Fatal编程技术网

Angular ui router $urlRouteProvider,简单路由

Angular ui router $urlRouteProvider,简单路由,angular-ui-router,Angular Ui Router,我的头脑无法理解$urlRouterPovider 基本上,每当我转到一个链接,它都应该加载相关的视图和控制器。这样就行了。 $urlRouterProvider.when(“/”,“/home”) $urlRouterProvider。否则(“/error”) 因此,每当用户转到http://localhost:3030/#/foo,它加载控制器为“fooCtrl”的“views/foo/foo.html”,并在默认情况下转到home,对于所有其他情况error 那很酷。但是,每当用户转到ht

我的头脑无法理解$urlRouterPovider

基本上,每当我转到一个链接,它都应该加载相关的视图和控制器。这样就行了。 $urlRouterProvider.when(“/”,“/home”) $urlRouterProvider。否则(“/error”)

因此,每当用户转到
http://localhost:3030/#/foo
,它加载控制器为“fooCtrl”的“views/foo/foo.html”,并在默认情况下转到
home
,对于所有其他情况
error


那很酷。但是,每当用户转到
http://localhost:3030/#/auth
它将重定向到服务器上的“/auth”,跳过stateProvider。目前,它将其视为一种状态,并尝试查找相应的视图和控制器

如果需要将它们重定向到服务器,则需要省略URL的#/部分

浏览器会忽略URL的#/部分,这是AngularJS允许您从localhost:3030/#/服务器发送的页面处理请求的方式。这实际上仍然只是请求localhost:3030/

如果您希望在服务器上对/auth执行真正的重定向或导航,请忽略该请求的状态-您希望浏览器直接向上发出指向服务器的HTTP请求。在窗体中使用/auth作为操作,或从控制器中发布到/auth。在服务器上完成后,将用户重定向回Angular应用程序

还请记住,您需要有一些机制让您的AngularJS应用程序了解我们的应用程序。在我们的应用程序中,我们让服务器设置一个带有JWT令牌的cookie,然后AngularJS应用程序使用它来检索用户信息。通过这种方式,AngularJS应用程序知道如何判断用户何时真正登录(而不是用户访问表示登录状态的URL)

     $stateProvider.state('views', {
        url: "/:view",
        templateUrl: function(stateParams, formResolver) {
          return "views/" + stateParams.view + "/" + stateParams.view + "-view.html";
        },
        controllerProvider: function($stateParams) {
              return "" + $stateParams.view + "Ctrl";
        }
     });