1

私はMeteorを初めて使用しています...ドラッグアンドドロップ、クリックなどのイベントを処理するためのベストプラクティスは何ですか?

2 つの重要な方法があることを理解しています。

1)「クリック」、「ドロップ」などを使用するテンプレート..イベント

 Template.someTemplate.events({

    'click .some-button': function (e) {
        e.preventDefault();
        e.stopPropagation();
        console.log("clicked");
    },

});

2) Template..rendered で $(some-selector).click(.... $(something).droppable などを使用するだけです。

Template.resourcePage.rendered = function(){
    this.$('.some-button').click(function (e) {
        e.preventDefault();

        console.log("clicked");       

    });
 }

だから私にはこれは同じことだと思いますか?これは単なる例であり、同じことがドロップ (droppable() 内) などの他のイベントにも当てはまります。「ドロップ」は、サポートされている Meteor イベントの正式なリストに含まれていないようです...これは、#2 の方法を使用する必要があることを意味します。

落とし穴は何ですか?回避策はありますか?

乾杯

4

3 に答える 3

1

Blaze wikiで興味深い情報が見つかるかもしれません(Events use jQuery までスクロールします)。それ以外は、イベントは実際のテンプレート (HTML ファイル) ではなく、.js ファイルで定義されます。jQuery を HTML ファイルから除外し、必要に応じてテンプレート ヘルパーを使用してみてください。簡単に言えば、myView というテンプレート内の要素 #button のクリック イベントの場合、これはコードになります (ベスト プラクティス):

Template.myView.events = {
  'click #button' : function (event) {
    console.log("The button was clicked");
  }
}

つまり、Template.myView.events 変数内で発生するイベントを定義します。もちろん、同じテンプレートに対して複数のイベントが存在する可能性があります。Meteor のドキュメントで使用されるイベントの種類を確認できます。js ファイルと Template..events 変数で任意の jQuery コードを使用できます。

于 2014-06-11T13:22:07.307 に答える