目前流星supports a limited number of events,我們可以從我們的模板定義中作出反應。我想要一種方式來應對超出此預定義列表的事件。我想要自由地將任何事件,甚至自定義事件添加到模板中可能事件的列表中。我如何對流星模板不支持的DOM事件做出反應?
我有一個想法會在某處建立一個jQuery的事件處理程序,對於不支持的事件監聽,並將它設置會話變量:
$(form).submit(->
Session.set('formSubmitted', true)
然後渲染模板時使用會話變量:
Template.confirmation.submitted = ->
return Session.get('formSubmitted')
<template name="confirmation">
{{#if submitted}}
<!-- do whatever -->
{{/if}}
</template>
但是,這只是一種變通方法並沒有真正解決問題。有沒有真正的流星這樣做?這是我能用新的Spark實現方式做的事嗎?
注意:請忽略我在這裏使用提交事件的事實。我知道我可以將點擊事件綁定到提交按鈕,但這不在重點。
注2:對this question的接受答案也只是一種解決方法。
一個問題是,每當模板呈現時都會綁定事件,這會在任何依賴關係發生變化時發生。 –
我一直都有這個問題Dave,你知道任何避免這種情況的模式嗎? –