我不能在很长时间内弄清楚我的代码出了什么问题。 $ stateParams.id始终未定义。 这是我的控制器:
.controller('ordersCtrl', [
'$scope',
'$http',
'$stateParams',
'orders',
'meals',
function($scope, $http, $stateParams, orders, meals){
console.log($stateParams.id);
...
}])
我的州:
.state('orders/{id}', {
url: '/orders',
templateUrl: '/orders.html',
controller: 'ordersCtrl'
})
我的链接:
<a href="#/orders/{{$index}}">Order</a>
这有什么问题?
答案 0 :(得分:5)
你的州应该读:
.state('orders_view', {
url: '/orders/:id',
templateUrl: '/orders.html',
controller: 'ordersCtrl'
})
state()
的第一个参数只是一个标签。它不关心参数。这是为url
保留的。
此外,链接的正确形式是:
<a href ui-sref="orders_view({id: $index})">Order</a>
答案 1 :(得分:0)
我认为参数的语法可能不同。您可以尝试更改这样的代码:
.state('orders/:id', {
url: '/orders',
templateUrl: '/orders.html',
controller: 'ordersCtrl'
})
我希望这可以帮到你