Angularjs ng-click不在ng-repeat中触发

时间:2018-02-26 20:02:45

标签: angularjs angularjs-ng-repeat

我在ng-repeat中有printf("%d\t",sum[i][j]); 个列表,这个列表每秒更新一次。在列表中,我有几个字段和动作按钮与ng-click指令。因此,当列表<li>列表中的数据更新时,每一秒都会再次呈现,此时ng-click不会触发,可能是因为在这个小的特定时刻点击没有绑定到按钮。

这是一小段代码。

<li>

控制器:

<ul class="items-list">
    <li ng-repeat="item in items | orderBy: ['id', 'date']">
        <div>{{ item.id }}</div>
        <div>{{ item.size }}</div>
        <div>{{ item.date }}</div>
        <div ng-click="deleteEntry($event)"><img src="delete.png"></div>
    </li>
</ul>

数据正在正确更改,但在此渲染时单击未触发。

2 个答案:

答案 0 :(得分:0)

运行以下代码。

ionViewDidLoad() {

  this.woocom().then((result) => {
    console.log('result===='+result);
  });

}

woocom(){
   var WooCommerceAPI = require('woocommerce-api');
  var WooCommerce = new WooCommerceAPI({
   url: 'http://test.com',
   consumerKey: 'ck_xxxxxxxxxxxxxxxxxxxxxxxxxx',
   consumerSecret: 'cs_xxxxxxxxxxxxxxxxxxxxxxxx'
  });

  WooCommerce.getAsync('products/categories').then((result) => {
   console.log(result.toJSON().body);

   //return Promise.resolve(JSON.parse(result.toJSON().body));

  // return JSON.parse(result.toJSON().body);
 });
   return Promise.resolve();
}

此外,

$interval(function() {
  var getAllItems = someService.getItems();
  getAllItems.map(function(item){
      //check for the item that not present in $scope.items and push that item to $scope.items
      $scope.items.push(item);
  }); 
}, 1000, 0, true);

答案 1 :(得分:0)

尝试使用事件委派使用jquery对每个元素进行删除调用。

参见:https://www.bennadel.com/blog/2448-using-jquery-event-delegation-in-angularjs.htm

希望这有帮助,你在寻找什么。