我完全是AngularJS的新手。只想用$ routeProvider嘗試相對URL。
下面是這種情況:
我有一個 「編輯」 頁面時,ASP.NET MVC鏈接頁面將是:
http://localhost/Workflow/Edit
所以ASP.NET MVC控制器是「WorkflowController 「並且動作是」編輯「。對於諧音我有控制的動作,每個返回的局部視圖這樣的:
public ActionResult WorkflowTransition()
{
return PartialView("WorkflowTransition");
}
public ActionResult WorkflowTransitionApprovers()
{
return PartialView("WorkflowTransitionApprovers");
}
以下是AngularJS模塊配置 - 請注意:一個PartialView(如上所述)被稱爲每一條路線的(這可能是不正確的):
$routeProvider.when('Workflow/WorkflowTransition', {
templateUrl: '/Workflow/WorkflowTransition',
controller: 'transitionCtrl',
});
$routeProvider.when('Workflow/WorkflowTransitionApprovers', {
templateUrl: '/Workflow/WorkflowTransitionApprovers',
controller: 'approversCtrl'
$routeProvider.otherwise({
redirectTo: '/'
});
注:我有不指定的以下任一:
$ locationProvider.html5Mode(假);
OR
$ locationProvider.html5Mode(假).hashPrefix( '!');
的HREF鏈接指定這樣的:
<a href="#/Workflow/WorkflowTransition">{{workflow.Identifier}}</a>
這會產生這種形式的鏈接:
http://localhost/Workflow/Edit#/Workflow/WorkflowTransition
這顯然是錯誤的(和點擊鏈接並不可能做任何事情因爲瀏覽器試圖導航到哈希),所以我嘗試了領先的'/',但也沒有運氣:
<a href="/#/Workflow/WorkflowTransition">{{workflow.Identifier}}</a>
如果我直接導航部分,即http://localhost/Workflow/WorkflowTransition
,瀏覽器按原樣呈現html(以及angularjs大括號{{}})。
我的問題是:AngularJS如何處理'#'或'#!'當涉及到確定相對URL?對於例如做這條路線(假設我收工/編輯部分從URL中的錨標記):
$routeProvider.when('Workflow/WorkflowTransition',
匹配的網址:
http://localhost/Workflow/#WorkflowTransition
?
它是否從URL中刪除'#',然後根據$ routeProvider.when()中的URL模式進行檢查?
有人可以建議相關網址的正確路線嗎?
謝謝你。 – Faredoon 2013-05-21 00:07:21