我正在通過AngularJS教程學習。 Angular使用它自己的JS路由機制來支持單頁面應用。 Angular的示例路由文件如下所示:Play Framework 2.1 - AngularJS路由 - 最佳解決方案?
angular.module('phonecat', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/phones', {templateUrl: '/partials/phone-list', controller: PhoneListCtrl}).
when('/phones/:phoneId', {templateUrl: 'partials/phone-detail', controller: PhoneDetailCtrl}).
otherwise({redirectTo: '/phones'});
}]);
我想要創建一個存放我的偏好(Angular特定HTML文件)的好地方。理想情況下,我希望能夠在Play中對它們進行模板化(即將它們作爲* .scala.html文件)。我能做到這一點使用AA播放routes文件,像這樣:
GET /partials/phone_index controllers.Application.phone_index
我基本上泛音/到一個控制器的動作是這樣的:
def phone_index = Action {
Ok(views.html.partials.phone_index())
}
我正在尋找解決的辦法是兩種理想的組合:
- 我會有某種映射讓我訪問/ partial/*下的任何文件並獲取部分文件。
- 我想重寫一個路由到一個特定的部分,所以我CAN使用控制器動作來動態填充數據(罕見)。
任何想法?
我認爲這可能是我需要的方法。 –
那麼,如果設置了「play.http.context」屬性,則此方法不起作用。該路由將錯過上下文前綴並因此失敗。任何想法如何克服這個問題? – user2715478