我有一个产品列表。对于每一个,我都有按钮可以在这个 ng-view 中显示有关它的详细信息和评论。
例如,用户必须一目了然地查看所有可用产品的详细信息。
这是 HTML 列表:
<div ng-controller="ProductsApp">
<ul>
<li ng-repeat="product in products">
<p>{{product.Name}}</p>
<p>
<a href="#/details/{{product.Id}}">Details</a>
<a href="#/comments/{{product.Id}}">Comments</a>
</p>
<div ng-view="productView{{product.Id}}">
</div>
</li>
</ul>
</div>
然后我的路由:
angular
.module('ProductsApp',[])
.config(function ($routeProvider) {
$routeProvider.
when('/details/:productId', {
controller : DetailsCtrl,
templateUrl : 'Details.html',
view: 'productView:productId'
}).
when('/comments/:productId', {
controller : CommentsCtrl,
templateUrl : 'Comments.html',
view: 'productView:productId'
}).
我的控制器:
function DetailsCtrl ($scope, $window, $http, DetailsList) {
var productId = $routeParams.productId;
$scope.Details[productId] = DetailsList.get({'productId' : productId});
}
最后是 Details.html
<div>
Name: {{Details[productId].Name}}
Size: {{Details[productId].Size}}
...
</div>
关于它的两个问题:
- 这是一个正确的方法吗?还有其他方法吗?
- 如何获取实际 ng-view 的 productId?名称:{{Details[ productId ].Name}}
谢谢!!!