2013-07-21 24 views
5

AngularJS TimePicker (ui.bootstrap.timepicker) kullanıyorum. Zamanlayıcı değiştiğinde bir olayı kovmak istiyorum. Bir ng-change özniteliği aradım ama bir tane bulamadım.angularjs timepicker ng değiştir

Amacım, zaman değiştirildiğinde modele yapılan değişiklikleri kaydetmek istiyorum. Şu anda modeli ayarlamak için ng-modelini kullandım, ancak denetleyiciye nasıl bildirimde bulunacağını anlayamıyorum, böylece kaydetmeyi gerçekleştirebilir (model, lokal öğeye serileştirilir). Mümkünse bir "Kaydet" düğmesini kullanmaktan kaçınmak istiyorum.

İlgili bir notta, ui.bootstrap.datepicker için de aynı şeyi yapmak isterim.

cevap

10

Zamanlayıcı (veya tarih seçici) değişikliklerini dinlemek ve Denetleyici'de gerekeni aramak için $ scope. $ Saatini kullanabilirsiniz. İşte önyükleme örneğine dayanan, ancak zaman değiştiğinde uyarı veren bir plunker. Tarih seçici için de benzer bir mantık uygulayabilmeniz gerekir.

+0

Teşekkür ederim rajasaur, bu iyi işe yarayacak. –

+2

İyi ve basit bir çözüm. En iyi yanı, bu "Date" nesnesini "datepicker" ile "timepicker" arasında paylaşsanız bile çalışır. Ancak, başlatma yordamınız% 100 doğru ayarlanmadığında sorun yaşayacaksınız. Saat ayarlanmadıkça zamanlayıcıyı (veya ebeveynlerini) oluşturmadığınızdan emin olun. Diğer olarak, başlangıç ​​saatiniz her zaman geçerli saatin üzerine yazılacaktır. Bunu, ng-if ': '' – Domi

+0

Domi kullanarak yapabilirsiniz, benzer bir sorunla karşılaşıyorum, yardımcı olabilir misiniz yorumlarda çözümünüzü anlamadığım için ne yapacağım. Aynı için yayınlanan soru: http://stackoverflow.com/questions/29148040/angularjs-xeditable-plugin-bstime-weird-behaviour – Jayesh