控制台没有错误。
我的代码很简单,如下所示
Home.html中
<h2>Select the car for seeing details</h2>
<div ui-view=""></div>
angular.module('cardealer',['ngRoute','ui.router'])
.controller('carcntrlr',函数($ scope,$ route,$ routeParams,$ location){
$ scope.cars = [{id:1,name:'Honda'},{id:2,name:'Hyundai'},{id:3,name:'Toyota'}];
})
.controller('cardetails',function($scope,$routeParams){
$scope.id = $routeParams.id;
$scope.name = $routeParams.name;
})
.config(function ($stateProvider, $routeProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/route")
$stateProvider.state('cars', {
url: "/route",
templateUrl:'cars.html',
controller: 'carcntrlr'
})
.state("cardetails", {
url: '/car/:carId/:carName',
templateUrl:'cardetails.html',
controller:function($scope,$stateParams){
$scope.id = $stateParams.carId;
$scope.name = $stateParams.carName;
}
})
})
;
</script>
Cars.html
<div>
<ul ng-repeat="car in cars">
<li>
<a ui-sref="carDetails({carId: '{{car.id}}',carName:'{{car.name}}'})">{{car.name}}</a>
</li>
</ul>
<hr/>
<div ui-view></div>
答案 0 :(得分:1)
在为ui-sref
州参数提供值时,无需使用{{}}
&amp; '
(单个qoute)。就像你在这里传递范围变量的值一样。
接下来就是状态名carDetails
中的拼写错误应为cardetails
ui-sref="cardetails({carId: car.id, carName: car.name})"
答案 1 :(得分:0)
首先是@Pankaj Parkar所指出的,所以你应该写
ui-sref="carDetails({carId: car.id, carName: car.name})"
然后在状态中,您已将州名称定义为carDetails(注意大写D)但是 在你的cars.html页面中,你将状态称为cardetails(注意小d)
carDetails.html页面的名称相同