angular 获取 ng repeat inside 指令值的方法
angular way of getting value of ng repeat inside directive
我想要一个由 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++;
}
});
}
};
});
我对 angular 很陌生(很明显),任何正确方向的提示都会很棒。我试过使用 required:"ngmodel",或将一些东西传递给函数,但没有任何效果。
非常感谢
马库斯
只需将其更改为:
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}}
我想要一个由 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++;
}
});
}
};
});
我对 angular 很陌生(很明显),任何正确方向的提示都会很棒。我试过使用 required:"ngmodel",或将一些东西传递给函数,但没有任何效果。
非常感谢 马库斯
只需将其更改为:
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}}