私は角度で初心者だと私は、この問題を解決しよう:私は<input/>
フィールドました:変更された値の長さがxに等しい場合にのみ、入力テキストでevent ng-changeディレクティブを使用する方法は?
<input
ng-model="codebare"
ng-change="addSale(codebare)"
name="keyWord"
type="text"
class="form-control"
placeholder="Product name or barcode value"
autofocus />
、あなたがそれを見ることができるように、私は、入力値(ng-model="codebare"
)を取得したい任意の時間それは変わる。私の問題は、このコードは最初の文字がフィールドを埋めるときにのみ機能し、バーコードスキャナを使用しているので、最初の文字(3
)の代わりに完全な値(3876666667677777287
)を取得したいと考えています。それを行う簡単な方法はありますか? ng-change-options="length"
のようなディレクティブには思えますが見つかりませんでした。あなたはバーコードスキャナを使用している場合は、モデルが更新されないので、コード全体を完全に入力するための時間があったまで、私はデバウンスのNG-モデル・オプションを追加することになり
$scope.addSale = function(codebare) {
alert(codebare);
var item = $scope.codebare;
alert(item);
$scope.orderedItemCnt = 1;
var foodItem = {
orderedItemCnt: 1,
totalPrice: item.price,
itemId: item.id,
id: $scope.itemsCnt,
item: item
};
}
代わりに使用する$腕時計をしてみてください? $ watch( 'codebare'、$ scope.addSale) ' – MMhunter
$ watchについてはモデルのため、ng-changeの指示は$ watchにデータを与えるものです。 $ scope.addSale = function(codebare){ $ scope。$ watch(function(scope){return scope.data.codebare}、 ファンクション(newValue、oldValue){ アラート(newValue); } ); .... –