4

私は、Apache-Wicket の再利用可能なコンポーネントに焦点を当てた webapp 開発から流星を使い始めたばかりです。

テンプレートで使用されるデータが mongodb ドキュメントでないかどうかを理解するために、ドロップダウン選択などの状態情報を保存するためにセッションを使用する必要があります。ただし、セッションはグローバルであり、テンプレートが 2 回または複数回使用される場合、すべてのテンプレート インスタンスが同じセッション値を共有/オーバーライドするため、固定セッション プロパティ 'mySelection' は機能しません。Apache Wicket ソリューションは、完全修飾されたテンプレート パスを使用してプロパティのプレフィックスを付け、すべてのテンプレート インスタンスに対して一意のセッション プロパティを維持することです。

meteor で「Template-Instance-State」を維持するための一般的な組み込みソリューションはありますか? そうでない場合は、テンプレート インスタンス自体に何らかの方法でテンプレート関数からアクセスできますか?

4

2 に答える 2

1

私がこれを行う方法は、Apache Wicket のソリューションとして説明したものと似ていますが、それを管理するために独自のコードを記述します。たとえば、各テンプレートに一致するキーを使用して Session オブジェクトを管理します。

function setTemplateSession(key, value) {
  Session.set("template_" + key, value);
}
function getTemplateSession(key) {
  Session.get("template_" + key);
}

テンプレートメソッドで:

Template.myList.selection = function() {
  return getTemplateSession("myList");
}

Template.myOtherList.selection = function() {
  return getTemplateSession("myOtherList");
}

明らかに、これをさらに抽象化できます。Meteor がデフォルトでこの種の動作を提供してくれるとよいのですが、おそらく Meteor に期待する代わりに、Apache Wicket の哲学を Meteor のテンプレート システムに提供するスマート パッケージを作成できますか?

于 2012-12-24T14:01:29.687 に答える
-1

テンプレート インスタンス自体には、thisを介してアクセスできます。

テンプレート インスタンスを参照してください。

于 2012-12-08T09:31:26.773 に答える