için açısal malzeme kullanılması
<div layout="row" ng-if="layer.Styles && layer.Styles.length > 1">
<md-input-container class="md-icon-float md-block layer-style">
<md-select ng-change="vm.changeLayerStyle(layer,selectedStyle)" ng-model="selectedStyle" ng-model-options="{trackBy: '$value.Name'}" aria-label="Change Layer Style">
<md-option ng-repeat="style in layer.Styles" ng-value="style" ng-selected="style.IsDefault == true">
{{style.DisplayName}}
</md-option>
</md-select>
</md-input-container>
</div>
insanların sorunları vererek bir geçmişi var. Normalde bunun yerine ng-options
'u kullanmayı tercih ediyorum, ancak bazı malzeme bileşenlerini kullanmanız gerektiğinden, bu bir seçenek değildir.
Bunun en güzel çözüm olmadığını biliyorum, ancak bu sorunu, son değerin bir kopyasını tutarak ve değişiklik olayı tetiklendikten sonra geçerli olanla karşılaştırarak çözebilirsiniz. Bu değer değişmemişse, etkinliği yok sayın. Bu, layer.Styles
'un ayarlanması büyük olasılıkla çok sayıda güncellemeyi tetikleyeceğinden bazı ekstra düzenlemelere ihtiyaç duyabilir.
Bize oynamak için bir plunker vermediğiniz için, updateOn
mülkünü updateOn
mülküyle ng-model-options (zaten kontrol etmek için kullanıyorsunuz) ile oynamanızı ve bunu yapmadığınız bir şeye ayarlamanızı öneririz. Seçtiğiniz özelliği ayarlayarak tetiklenir. Burada blur
değeri akla geliyor.
ngModel değerini kullanarak değeri –