0

これはMeteor.jsの問題ではないと思いますが、この質問にどのカテゴリが適切かわかりません。

タグを使用して、他のコンポーネントでイベントを取得していました。すなわち

<a href="#" name="someName"><i>...</i><button>...</button></a>

テンプレート側でこのイベントを処理し、

Template.name.events
  'click [name=someName]': (e, tmpl) ->
    // do actions  

しかし、V1.0 から、このアプローチは以前のようには機能しなくなりました。イベントが Template イベント メソッドに到達できなかったため、そこでアクションを実行できません。

このアプローチがこのように使用される正しい方法ではないことはわかっていますが、これは本当に便利で、私のプロジェクトはすでにこの方法で多く作成されています。

これを行う別のアイデアはありますか?

前もって感謝します。

4

1 に答える 1

1

だから

Template.name.events

「名前」という名前のテンプレートがありますか?

これは悪い習慣です。javascript API と競合する可能性のあるテンプレート (またはその他のもの) に名前を付けることは避けてください: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name。'Template' は関数です。ブラウザ コンソールに Template.name と入力すると、おそらく "" のようなものが返されます。基本的に、 Template.name.anything が正しく機能していません。

「名前」という名前のテンプレートだけで新しいプロジェクトを作成してみました

<template name="name"> ... </template>

イベントセレクターに問題はありません。したがって、簡単な修正は、テンプレートの名前を変更するだけです。

テンプレートの名前が name でない場合、イベント ヘルパーは次の形式を取る必要があります。

Template.<template_name>.events
于 2014-11-27T18:31:51.650 に答える