当您点击根目录时,我们有一个使用Asp.net MVC提供index.html文件的站点,然后将AngularJS 1.2.4用作单页面应用程序。我需要为SPA服务,但希望立即重定向到路线。基本上,用户将点击电子邮件中的链接,我需要将它们发送到该路线。
以这种方式提供Index.html:
[AllowAnonymous]
public ActionResult Index()
{
CachingUtility.SetNoCache(Response);
var path = "index.html";
if (Convert.ToBoolean(ConfigurationManager.AppSettings["UseDist"]))
{
path = "dist/index.html";
}
return File(path, "text/html");
}
从这里AngularJS $ routeProvider接管:
...
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.otherwise({ redirectTo: '/home' });
}])
...
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/products', {
templateUrl: '/application/app/product/products.html',
controller: 'ProductsCtrl'
});
... etc,
我可以通过不同的方式提供index.html,或者我可以用路由器来实现这一目标吗?我正试图避免为这几条路线提供全新的SPA。