test edilirken sıfırlanmadı Şu anda iç içe geçmiş bir yol üzerinde bir kabul testi yapmaya çalışıyorum, bu da aynı bileşenin iki kez kullanılmasını, ancak farklı argümanlarla kullanılmasını sağlıyor. Normal olarak çalıştırdığımda bu iyi çalışır, ancak kabul testini çalıştırdığımda, bileşenin argümanlarının güncellenmediğini fark eder ve bu da testimin başarısız olmasına neden olur. index.hbs
yılındaEmber.js: Bileşen özniteliği
Ben:
{{index-view model=model type='location'}}
Benim index-view
bileşen şöyle görünür: İşte bazı örnek kod listing-table
bir öğeye tıklayarak
<h1>{{title}} List</h1>
{{listing-table model=model type=type}}
, o zaman gidin link-to
locations.show.devices
yolunu içeren locations.show
yolu. locations.show.devices
rota içerir:
{{listing-table model=model.devices type='device' exclude='locationName'}}
Ancak, benim kabul testlerinde, ben güncellenmektedir model
ederken ve type
ki (bileşenin javascript bu özelliklerin dışında yankılanan tarafından) görebilirsiniz, exclude
daima kuruldu olursa olsun ayarlandığında bileşen başlangıçta çağrıldığında.
Şimdi, bileşen yeniden veya gerçekleştirildiği olup olmadığını (console.log()
aracılığıyla) kontrol ettim ve init()
ve didDestroyElement()
hem bileşen iki kez bütün bir yaşam döngüsü geçer, yani iki kere denir görebiliyordu. Bununla birlikte, neden exclude
argümanımın neden güncellenmediğini gerçekten anlayamıyorum ve bu neden sadece kabul testi sırasında gerçekleşiyor?
This is a stripped down version of what I'm doing (tabii ki Twiddle üzerinde çalışır, ancak gerçek hayatta değil!).
Söz konusu bileşeninize yapıştırabilir misiniz? Belirli bir bileşenle ilgili bir şey çıkmış gibi geliyor ... – acorncom
Sorunun giderilip giderilmeyeceğinden emin değilsiniz, ancak bir özelliğin veya nesnenin varsayılan değerini ayarlarsanız durum paylaşılabilir. Her ikisini de yapmakta olduğunuza inandığınız gibi, 'init()' de varsayılanları sıfırlayabilirsiniz, bu yüzden soruna neden olan şey bu olduğundan emin değilim. Burada paylaşım durumu hakkında daha fazla bilgi: https://stackoverflow.com/a/19071065/916734 –
@acorncorn: [burada] (https://gist.github.com/finferflu/f4832e7dd6e3bcc78bbe5a0abfd87ee3) bileşenimin js'idir. – finferflu