如何在 ng-href 中使用 ng-click 传递参数?
How to pass parameter with ng-click in a ng-href?
实际上,我得到了一个产品列表,由于 ng-href 中带有 ng-click 的功能,我想在单击 ng-href 时传递当前产品 ID。
这是我的 html 文件:
<div class="agile_top_brands_grids" ng-model="products" ng-repeat="product in products">
<div class="col-md-4 top_brand_left">
<div class="hover14 column">
<div class="agile_top_brand_left_grid">
<div class="agile_top_brand_left_grid_pos">
<img src="../../resources/images/offer.png" alt=" "
class="img-responsive" />
</div>
<div class="agile_top_brand_left_grid1">
<figure>
<div class="snipcart-item block">
<div class="snipcart-thumb">
<a ng-href="/#/singleproduct"
ng-click="currentProductId(product.id)">
<img src="../../resources/images/hh4.png">
</a>
<p>{{product.name}}</p>
<h4>{{product.price}}</h4>
</div>
</div>
</figure>
</div>
</div>
</div>
</div>
然后我尝试像这样在我的控制器中获取 id :
$scope.currentProductId = function (productId) {
console.log("Hello");
console.log(productId)
}
但是$scope.currentProductID根本没有执行..
有什么想法吗?
你好有一些困惑,比如
<div class="agile_top_brands_grids" ng-model="products" ng-repeat="product in products">
<div class="col-md-4 top_brand_left">
<div class="hover14 column">
<div class="agile_top_brand_left_grid">
<div class="agile_top_brand_left_grid_pos">
<img src="../../resources/images/offer.png" alt=" " class="img-responsive" />
</div>
<div class="agile_top_brand_left_grid1">
<figure>
<div class="snipcart-item block" >
<div class="snipcart-thumb" >
<a ng-href="/#/singleproduct" ng-click="currentProductId(product.id)"><img src="../../resources/images/hh4.png"></a>
<p>{{product.name}}</p>
<h4>{{product.price}}</h4>
</div>
</div>
</figure>
</div>
</div>
</div>
</div>
- 第一行你为什么使用 ng-model?
- 如果您使用的是 ng-href="/#/singleproduct" 那么它会改变您的路线和控制器。这意味着您的函数“$scope.currentProductId”将不会执行。
解决方案 1 是:要么你可以像
那样在 href 中传递 id
ng-href="/#/singleproduct"+product.id 并删除 ng-click 功能
解决方案二:ng-href="#" 并使用ng-click 功能更改路由。
实际上,我得到了一个产品列表,由于 ng-href 中带有 ng-click 的功能,我想在单击 ng-href 时传递当前产品 ID。
这是我的 html 文件:
<div class="agile_top_brands_grids" ng-model="products" ng-repeat="product in products">
<div class="col-md-4 top_brand_left">
<div class="hover14 column">
<div class="agile_top_brand_left_grid">
<div class="agile_top_brand_left_grid_pos">
<img src="../../resources/images/offer.png" alt=" "
class="img-responsive" />
</div>
<div class="agile_top_brand_left_grid1">
<figure>
<div class="snipcart-item block">
<div class="snipcart-thumb">
<a ng-href="/#/singleproduct"
ng-click="currentProductId(product.id)">
<img src="../../resources/images/hh4.png">
</a>
<p>{{product.name}}</p>
<h4>{{product.price}}</h4>
</div>
</div>
</figure>
</div>
</div>
</div>
</div>
然后我尝试像这样在我的控制器中获取 id :
$scope.currentProductId = function (productId) {
console.log("Hello");
console.log(productId)
}
但是$scope.currentProductID根本没有执行..
有什么想法吗?
你好有一些困惑,比如
<div class="agile_top_brands_grids" ng-model="products" ng-repeat="product in products">
<div class="col-md-4 top_brand_left">
<div class="hover14 column">
<div class="agile_top_brand_left_grid">
<div class="agile_top_brand_left_grid_pos">
<img src="../../resources/images/offer.png" alt=" " class="img-responsive" />
</div>
<div class="agile_top_brand_left_grid1">
<figure>
<div class="snipcart-item block" >
<div class="snipcart-thumb" >
<a ng-href="/#/singleproduct" ng-click="currentProductId(product.id)"><img src="../../resources/images/hh4.png"></a>
<p>{{product.name}}</p>
<h4>{{product.price}}</h4>
</div>
</div>
</figure>
</div>
</div>
</div>
</div>
- 第一行你为什么使用 ng-model?
- 如果您使用的是 ng-href="/#/singleproduct" 那么它会改变您的路线和控制器。这意味着您的函数“$scope.currentProductId”将不会执行。
解决方案 1 是:要么你可以像
那样在 href 中传递 idng-href="/#/singleproduct"+product.id 并删除 ng-click 功能
解决方案二:ng-href="#" 并使用ng-click 功能更改路由。