Angular-ui'nin select2'sini oldukça basit bir açılır menü için kullanıyorum. Denetleyicimin kapsamı üzerinde duran statik bir veri dizisi tarafından destekleniyor. Denetleyicimde, değer değiştiğinde bazı eylemleri gerçekleştirebilmem için açılır menüde ng değişimini gerektiren bir işlev var. Bununla birlikte, bulduğum şey, ng modelinin özelliğinin, gerçek bir javascript nesnesi yerine bir JSON dizesi olarak ayarlanmasıdır; bu, bu modelin özelliklerini kaldırmak için nokta gösteriminin kullanılmasını imkansız kılar. İşte Açısal UI Seçimi2, ng-modeli neden JSON dizesi olarak ayarlandı?
açılan değerini kolları işlevi değiştirilen var: http://plnkr.co/edit/G39iZC4f7QH05VctY8zGBen ng-modeli için kaçınılmazdır bir özellik görmedim: Burada
$scope.roleTypeChanged = function() {
//fine:
console.log('selectedType is: ', $scope.adminModel.selectedType);
// this ends up being undefined because $scope.adminModel.selectedType is a
// JSON string, rather than a js object:
console.log('selectedType.typeCode is: ', $scope.adminModel.selectedType.typeCode);
}
benim tam örnek bir plunker var Bunu daha önce yapın, ancak aynı zamanda Angular için oldukça yeniyim, bu yüzden burada yanlış bir şey yapıyorum. JSON dizgisini bir nesneye dönüştürmek için kesinlikle $ .parseJSON() gibi bir şey yapabilirim, ama yapmam gerekmedikçe tercih ederim. Yardımlarınız için teşekkürler!
İlginç, mantıklı ama ben yapmadım' Kod Adı düğümleri vardır t dokümantasyona göre ng-options desteklenmediği için bunu denemeye çalışıyorum: https://github.com/angular-ui/ui-select2 –
Ben ui-select2 ile çalışmadım, bu yüzden bu çözüm için istenmeyen yan etkileri vardır. Her durumda, bir ng-tekrarlama seçeneklerini kullanacaksanız, tam üflenmiş nesneler yerine basit dizelerle uğraşmak zorunda kalacaksınız. –
Yardım için teşekkürler. Aynı soruyu ui-select2 için github sayfasında sadece ng-options'ın yol haritasında destekleyip desteklemediğini ya da desteklememe nedenleri olup olmadığını sormasını rica edebilirim. Büyük bir nesne yerine, kullanim-vaka çalismalarını dizelerle yapmak için biraz ayar yapabilirim. –