AngularJs ngClick缓存更新问题

时间:2018-07-17 10:11:10

标签: javascript html angularjs

我正在尝试在ng-click调用时将值传递给JavaScript函数。但是它传递了错误的值。

ng-click="removeObj(det, '{{$index+1}}')在这里index为0,所以当我检查Chrome中的元素时,其显示ng-click="removeObj(det, '1')

在JavaScript函数中:self.removeObj = function(formObject, id)->这里id以2而不是1出现。

Sample.html

<tbody>
  <tr ng-repeat="det in sellingTable">
    <td data-title="S.No.">{{$index+1}}</td>
    <td data-title="Product">{{det.sellProduct}}</td>
    <td data-title="Plan">{{det.sellPlan}}</td>
    <td data-title="Amt">{{det.sellAmt}}</td>
    <td data-title="Action">
      <a href="javascript:void(0)" ng-click="removeObj(det, '{{$index+1}}')">
        Remove
      </a>
    </td>
  </tr>
  <tr ng-if="sellingTable =='' || sellingTable ==null">
    <td colspan="5">No records found</td>
  </tr>
</tbody>

请在下面附件中找到我的代码的Chrome检查元素文件

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:4)

直接传递 index

<a ng-click="removeObj(det, $index+1)" 

代替内插

<a ng-click="removeObj(det, '{{$index+1}}')"

答案 1 :(得分:1)

在不使用花括号的情况下,您可以尝试一下。事情就这样了:

<tbody>
  <tr ng-repeat="det in sellingTable">
    <td data-title="S.No.">{{$index+1}}</td>
    <td data-title="Product">{{det.sellProduct}}</td>
    <td data-title="Plan">{{det.sellPlan}}</td>
    <td data-title="Amt">{{det.sellAmt}}</td>
    <td data-title="Action">
      <a href="javascript:void(0)" ng-click="removeObj(det, $index+1)">
        Remove
      </a>
    </td>
  </tr>
  <tr ng-if="sellingTable =='' || sellingTable ==null">
    <td colspan="5">No records found</td>
  </tr>
</tbody>

希望它能起作用!