在指令中获得ng重复值的角度方式

时间:2015-02-17 15:18:12

标签: angularjs directive ng-repeat

我希望有一个由ng-repeat生成的监听。 每个列表项都包含一个名称和一个包含数字的输入字段。

我想使用指令更改此数字,但我不知道如何从指令中解决此值。

一个工作的plunkr在这里: http://plnkr.co/edit/BXsTqqETkGkgvRxGyWi2?p=preview

这是迄今为止的指令:

app.directive('keyCommand', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
  element.on("keydown", function(event){
    element.after("!");
    //on arrow right
    if (event.which==39){
      //HERE IS THE PROBLEM!!!! HOW TO CHANGE THE CURRENT AMOUNT?
      item.amount++;
    } 
    });
  }
};      
});

我对角度很明显(显然),任何正确方向的提示都会很棒。我已经尝试过使用required:“ngmodel”,或者将某些内容传递给函数但没有任何效果。

非常感谢 马库斯

1 个答案:

答案 0 :(得分:0)

只需将其更改为:

scope.$apply(function(){
  scope.item.amount++;
});

http://plnkr.co/edit/brRDm8eGttcr8yUPSEyY?p=preview

你也可以使用@inorganik建议:(如果这是你想要的行为)

<input type="text" ng-model="item.amount" ng-keyup="item.amount=item.amount+1" />{{item.name}}