jQuery UI はまだ Meteor の「パッケージ」ではありません。最終的にパッケージになったとしても、新しい jQuery と jQuery UI バージョン、および Meteor で使用したい他の jQuery プラグインが存在するでしょう。さまざまな問題が発生します。
- タグ経由でロードする
<script>
か、js ファイルをクライアントまたはルート ディレクトリに配置しますか? - CDN からスクリプトを取得する場合に問題はありますか? ローカルに保存する方が良いですか (「public」ディレクトリなど)?
- テンプレートがレンダリングされる前に呼び出される可能性があるため
$(document).ready()
、通常は .ready() から呼び出されるさまざまなセットアップ関数を呼び出すのに最適な場所はどこですか?Templates.<Name>.rendered
テンプレートのレンダリング中に DOM が変更された場合に、さまざまなイベント ハンドラーが新しい DOM ノードに再アタッチされるように、それらを で呼び出す必要がありますか? これにより、DOM から削除されたファントム ノードを処理するためにまだ存在する古いハンドラーのメモリ リークが発生しますか? - jQuery UI ウィジェットからのイベント コールバックに基づいてモデル データを変更しようとしている場合 (およびイベントが "click" や "dblclick" などの Meteor テンプレート イベントによってネイティブにサポートされていない場合)、コールバック中に、問題のウィジェットに関連付けられたコレクション データ? Template..rendered 中にオブジェクトの _id を DOM にロードし、関連する jQuery UI イベント ハンドラー中に読み戻す必要がありますか? 他の方法はありますか?
この質問によると、問題は 0.5.0 以降変更されていることに注意してください。そのため、いくつかの既存の同様の StackOverflow の質問は古くなっている可能性があります (また、また、また)。
例があなたの答えに役立つなら、ここに jQuery Draggable and Droppable を統合する作業中の (?) Meteor プロジェクトがあります: http://products-jqueryui.meteor.com/ with Source Here に基づいてTutorial Here
(私の質問で「安全に」とは、Meteor フレームワークで破壊的なエラーを引き起こさない (または Meteor が jQuery/jQuery UI を混乱させる) ことを意味し、可能な限り効率的に: 過剰な DOM 操作/レンダリングを回避することを意味します。過剰なクライアント/サーバー トラフィック、またはメモリ リークの原因となります)。