我有一个使用 Angular 的 rails 应用程序
如果我在像“/items/3”这样的网址,我如何通过 angularjs 控制器检索 id(在本例中为 3)?
我努力了
$location.url()
,但我收到此错误:
TypeError: Object #<Object> has no method 'url'
我包括了 $location,还有什么我需要做的吗?
此外,还有其他方法可以通过 Angular 控制器检索 id 吗?
谢谢
我有一个使用 Angular 的 rails 应用程序
如果我在像“/items/3”这样的网址,我如何通过 angularjs 控制器检索 id(在本例中为 3)?
我努力了
$location.url()
,但我收到此错误:
TypeError: Object #<Object> has no method 'url'
我包括了 $location,还有什么我需要做的吗?
此外,还有其他方法可以通过 Angular 控制器检索 id 吗?
谢谢
使用 配置路由时$routeProvider
,您可以指定变量名称,然后可以在控制器中检索这些名称。
示例 app.js:
angular.module('myApp', [])
.config(function ($routeProvider) {
$routeProvider
.when('/items/:item_id', {
templateUrl: 'views/item.html',
controller: 'ItemCtrl'
})
.otherwise({
redirectTo: '/'
});
});
然后您可以通过在控制器中注入$routeParams
角度对象来解析控制器中的项目 ID,如下所示:
项目Ctrl.js:
angular.module('myApp')
.controller('ItemCtrl', function ($scope, $routeParams) {
var itemId = $routeParams.item_id;
});