我有两个显示多个类别和子类别的控制器。
var app = angular.module('myApp', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'xyz/category.html',
controller: 'myCtrl'
}).
when('/subcategory/:id', {
templateUrl: 'xyz/subcategory.html',
controller: 'subcategoryCtrl'
}).
otherwise({
redirectTo: '/'
});
});
控制器1
app.controller('myCtrl', function($scope, $http) {
alert("myCtrl");
$http.get("http://api.remix.bestbuy.com/v1/categories?apiKey=anzdbv4h3y5tfk2quyngxpsa&format=json")
.success(function (response) {$scope.sample = response.categories;
});
});
控制器2
app.controller('subcategoryCtrl', function($scope,$routeParams,$http) {
console.log("http://api.remix.bestbuy.com/v1/categories(id="+$routeParams.id+")?apiKey=anzdbv4h3y5tfk2quyngxpsa&format=json")
$http.get("http://api.remix.bestbuy.com/v1/categories(id="+$routeParams.id+")?apiKey=anzdbv4h3y5tfk2quyngxpsa&format=json")
.success(function (response) {
var datalen=JSON.stringify(response.categories[0].subCategories.length);
alert(datalen);
if(datalen == "0" ){
alert("no data");
var idvalue = $routeParams.id;
alert(idvalue);
}
else{
$scope.subproduct = response.categories[0].subCategories;
}
// alert("response.categories[0].subCategories-->"+response.categories[0].subCategories);
});
});
两个控制器的视图文件都是:
**分类视图**
<table>
<tr>
<th>Products</th>
</tr>
<tr ng-repeat="product in sample">
<td>
<a href="#/subcategory/{{$index=product.id}}">
{{product.name}}
</a>
</td>
</tr>
</table>
子类别视图
<table>
<tr>
<th>subcategory </th>
</tr>
<tr ng-repeat="subcategory in subproduct">
<td>
<a href="#/subcategory/{{$index=subcategory.id}}">
{{subcategory.name}}
</a>
</td>
</tr>
</table>
它获取所有子类别,但是我希望在子类别长度变为0时获取产品,如第2个控制器中指定的api:
**http://api.remix.bestbuy.com/v1/products(categoryPath.id="Id_value")?apiKey=anzdbv4h3y5tfk2quyngxpsa&page=1&format=json**
当stringifi长度变为零时,我想使用当前的routepamams id将此id访问到另一个控制器,然后我可以通过将routeparams id的值传递给产品控制器并获取来访问我的产品列表。 我怎么能访问id ??
答案 0 :(得分:0)
您的问题不在控制器中,而是在View中。 你期望在这里看到什么?
<a href="#/subcategory/{{$index=subcategory.id}}">
检查浏览器调试器/控制台中的链接。将其更改为
<a href="#/subcategory/{{subcategory.id}}">