Bir bileşenin yalıtılmış bir içeriği vardır. Bu yüzden, bileşenin dışındaki herhangi bir şey (yol veya denetleyici) hakkında hiçbir şey bilmiyor. Rotanıza bileşeninizden bir eylem gönderebilmek için, bunu sevdiği şablonunda bileşene rotanın eylemi geçmelidir:
// your template
{{your-component closeModal="closeModal"}}
Artık bileşeninde this.sendAction('closeModal')
çağırdığınızda, bu verilen eylemi tetikleyecek Bu durumda, bu durumda rotanızın closeModal
eylemidir. Daha fazla bilgi için
, dokümanlar (http://emberjs.com/api/classes/Ember.Component.html#method_sendAction)
GÜNCELLEME Ağustos Ember yeni sürümlerinde kapatma eylemleri karşılaştı olanlar için 3 2016
, ayrıca burada bu tür eylemlerin faydalanmak olabilir bakın yapıyor:
// your template
{{your-component closeModal=(action "closeModal")}}
Bu eylem yardımcı kontrolörünüzün bir eyleme işaret eder, senin bileşende Arayabileceğin this.attrs.closeModal()
veya 'u aramak yerine eylemi tetiklemek için.
Bu eylemlerin yararı, eylemin bileşende kullanılabilecek bir değer döndürmesidir. Bir modal durumunda, örneğin, bir modalın closeAction
çağrılması durumunda kapatılıp kapatılamayacağını belirlemek için kullanılabilir, örneğin false
döndürürse, modalın kapanmasını önlemeye karar verebilirsiniz. https://github.com/DockYard/ember-route-action-helper
Bize şablonu nerede gösterebilir: Bir yan not olarak
, kapatma eylemleri her zaman bunun rota eylem işaret izin için, bu eklenti bakmak olabilir de, sizin denetleyici işaret bileşeni kullanıyor musunuz? – GJK