Angular ui router $urlRouteProvider,简单路由
我的头脑无法理解$urlRouterPovider 基本上,每当我转到一个链接,它都应该加载相关的视图和控制器。这样就行了。 $urlRouterProvider.when(“/”,“/home”) $urlRouterProvider。否则(“/error”) 因此,每当用户转到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
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";
}
});