0

实际上,我有一个产品列表,我想在单击 ng-href 时传递当前产品 ID,这要归功于 ng-href 中的 ng-click 功能。

这是我的 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 根本没有执行..

请问有什么想法吗?

4

1 回答 1

0

您好,有一些混乱,例如

<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 功能

  • 解决方案 2 是:ng-href="#" 并使用 ng-click 功能更改路线。

于 2017-09-28T08:14:26.227 回答