我希望有一个由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”,或者将某些内容传递给函数但没有任何效果。
非常感谢 马库斯
答案 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}}