我想在CMS(Telerik Sitefinity(中托管SPA。此应用程序将托管在url的"小部件"中,如http://host/foo/bar/product/{SPA的根}
我将使用ui路由器来处理url。如果我像下面这样配置路由状态,url"/"会解析为什么?
MyApp.config(function($stateProvider){
var homeState = {
name: 'home',
url: '/',
templateUrl: '/templates/home.html'
}
$stateProvider.state(homeState);
}
这条路线会去吗http://host/或http://host/foo/bar/product/?
同样的问题也适用于templateUrl:我需要它映射到http://host/foo/bar/product/
http://host/foo/bar/product/因为路由器将添加到末尾。这既有用,也可能是一个缺陷(请参阅此处(。TemplateURL也会以同样的方式运行,所以你可以继续!
来自文档:
基本href约束
如果当前URL在指定为基本href的URL之外,
$location
服务将无法正常工作。这可能会产生微妙而混乱的后果。。。考虑一个基本href设置如下:
<base href="/base/">
(即应用程序存在于名为/base
的"文件夹"中(。URL/base
实际上在应用程序之外(它指的是在根/文件夹中找到的基本文件(。如果您希望能够通过
/base
等URL导航到应用程序,则应确保您的服务器已设置为将此类请求重定向到/base/
。请参阅https://github.com/angular/angular.js/issues/14018了解更多信息。
--AngularJS开发者指南-使用
$location