我正在尝试构建一个不使用 ngView 的 AngularJS/Rails 多页面应用程序 - 基本上,我想在我的 Rails 应用程序中使用 Angular 的数据绑定和其他功能,同时仍然拥有由我的 Rails 路由确定的视图。到目前为止,它工作正常,但我的主要问题是从我的 Angular 框架内访问我的 Rails 路线参数。有没有一种方法可以以 Angular 友好的方式访问 URL/参数?我不想诉诸于分割 window.location。
例如,假设我位于 localhost:3000/articles/1,我的视图对应于 app/views/article/show.html.erb
<div class='articleContainer' ng-controller='ArticleController'>
<div class='articleTitle' ng-bind='article.title'></div>
<div class='articleBody' ng-bind='article.body'></div>
</div>
这就是我的 ArticleController 在传统 Angular 设置中的样子。
var ArticlesControllers = angular.module('ArticlesControllers', ['ngSanitize']);
ArticlesControllers.controller('ArticleController', ['$scope', '$routeParams',"$http","$browser","$sniffer","$rootElement", "$location",
function($scope, $location, $http, $resource){
$http.get('/articles/'+$routeParams.articleId+'.json').success(function(data) {
$scope.article = data["article"];
$scope.comments = data["comments"];
});
}
]);
不幸的是,如果我不使用 ngView,$routeParams 似乎不起作用。有没有一种干净的方法来重新创建 $routeParams.articleId 而不诉诸 window.location?非常感谢你。