Aşağıdaki giriş alanını vardır:Neden min özniteliği ngChange çağrılsın?
<input type="number"
class="menu-control validate"
style="width: 50px;"
ng-disabled="!ctrl.editable()"
min="1"
ng-change="ctrl.updateBookingPriceRequest()"
ng-model-options="{ updateOn: 'default blur', debounce: { 'default': 2000, 'blur': 0 }}"
ng-model="extra.quantity" />
Sorunum dk direktifi olduğunu. Oradayken, açısal, giriş değiştirilmeden ng-değişimini sürekli olarak çağırıyor (değişimden sonra ajax araması yaptığım için iyi değil). Min'i kaldırırsam iyi çalışır ve aynı problemi max ile olmaz. Modelin başlangıçta minimale göre mi, üstünde mi olduğu önemli değil.
Yapamayacağım bir şey gören var mı?
Düzenleme: Benim değişim fonksiyonu hiçbir şey yapmadan denedim ve olmalı bu yüzden dolayı benim koduna sorunu durdu
. Ama anlamadığım şey min neden olmadan iyi çalışıyor!
this.updateBookingPriceRequest = function() {
_this.prices.getBookingPrice(_this.bookingPrice).then(function (response) {
if (response.successful) {
_this.bookingPrice = response.data;
_this.bookingPrice.mooringExtras.bookingExtras.forEach(function (extra) {
var feature = _this.features.filter(function (f) { return f.featureId === extra.mooringFeatureId; })[0];
extra.unitOfMeasureId = feature.unitOfMeasureId;
extra.pricedQty = feature.pricedQuantity;
extra.pricingType = feature.pricingType;
});
if (_this.bookingPrice.mooringDiscounts) {
_this.bookingPrice.mooringDiscounts.forEach(function (discount) {
discount.discountName = _this.harborDiscounts.filter(function (x) { return x.id === discount.discountModelId; })[0].name;
});
}
}
else
_this.Error.showErrorMessage('Error getting booking price: ' + response.message);
});
};
model özelliği işlev değiştirilir olan ilgili "ekstra" amacı ise "miktar" özelliği aynı kalır. Bu, ng değişiminin tetiklenmesine neden olabilir mi? nesneler tanımlanır (valepu tarafından yorumunu bakınız) nasıl göstermek için
Düzenleme: Bir dizide olduğu
ekstra nesne (ler) (benim giriş alanı bir yineleyici içinde olduğunu, ancak benim şimdiki testte sadece bir tane mooringExtras adlı bir özellikte tanımlanan dizideki nesne), ng-change çağrıldığında (bkz. kod) bir http isteği ile güncellenen bir bookingPrice nesnesinin bir özelliğidir. Karmaşık olduğunu biliyorum, daha iyi nasıl basitleştireceğimi bilmediğim için özür dilerim.
Ekstra nesne, girdi için model olan "nicelik" ile bir dizi özellik içerir. İşte
ekstra nesnenin JSON geçerli: Her zaman ng değiştirme bookingPrice nesne değiştirilir denir{"id":401,"bookableFeatureId":13,"mooringFeatureId":4,"featureName":"Wi-fi","bookingId":1104,"booked":true,"price":100.00,"totalAmount":300.00,"days":8,"quantity":3,"currencyUnit":"SEK","created":1460542055177}
Ancak extra.quantity değeri aynı kalır.
çalışacak bir sahip onun döngüsü yapıyor min 'özniteliği. Bir döngü genellikle Açısal'nın bir değişikliği algıladığı ve daha sonra 'change' işlevini başlattığı anlamına gelir. Belki bir kemanda çoğaltabilir misin? – Michelangelo
senin min bir direktif mi? – Lulylulu
Ben sizin durumunuzu taklit edecek bir plunkr yaptım ama bana (Firefox üzerinde) iyi çalışıyor http://plnkr.co/edit/XyEyGTvuYKyz1GGmWjuP?p=preview (ayrıca min, standart HTML değil, bir açısal direktif değil, sürece Böyle bir isimle bir direktifiniz var) – valepu