2016-04-05 13 views
0

Bileşenimde girdi değerlerine erişme sorunları yaşıyorum. Şablonlarımda dinamik olarak değer bağları oluşturmaya çalışıyorum ve this.controller.get ("pst" + id ") kullanarak conponent.js dosyasında erişmeye çalışıyorum ancak sonuç çok az. Ember 2,2ember #each bloğunda dinamik girdi değerlerine erişme

{{#each post in |pst idx|}} 
    {{input value=(concat 'pst' idx)}} 
{{/each}} 
+1

Kor versiyonu? '{{#each post as | pst idx |}} ' – AcidBurn

+0

değerini deneyin, değerin bağlı olduğu değişkenin oluşturulmasıyla ilgili bir sorun gibi görünüyor. Concat helper işlevi bir dize oluşturur, ancak dinamik olarak oluşturulan dizede this.get.controller ("..") denediğimde, giriş kutusunun değerini döndürmez (ve tanımsız olarak geri döner) – goofiw

+1

İhtiyacınız olan şey inanıyorum “get” yardımcısı, muhtemelen concat ile bağlantılı olarak: '(bu (concat" pst "idx))' yi elde edin. – locks

cevap

0

Eh, it works as expected kullanarak, fakat neden bunu yapmak isteyeyim?

Lütfen arşivlemek istediğiniz şeyi açıklayın ve sonra daha iyi yardımcı olabiliriz.

Açık olması gerekirse, get yardımcı ile oluşturulan bir değer değişmezdir.

Neden {{input value=pst}} gibi bir şey yapmıyorsunuz? Eğer bu bir seçenek değilse, muhtemelen dizininizi JS'de oluşturmalı ve sonra bunu gidonlarda kullanmalısınız!

0

'İleti' değişkeninizi component.js dosyanızda saran hesaplanmış özellik tanımlayın. Bu ambalajın üzerinde yineleyin. Bunun dinamik değerler üretmenin güçlü bir yolu olduğunu düşünüyorum.

Şablon:

{{#each postWrappers as postWrapper}} 
    {{input value=postWrapper.value}} 
{{/each}} 

Sizin component.js:

postWrappers : Ember.computed('post', function() { 
    //your concat code 
});