24

findmeteor テンプレート ヘルパー関数内で、 a とaの結果を返す場合、パフォーマンス、再レンダリングの数、またはその他に違いはありますfetchか?

たとえば、検索アプローチは次のとおりです。

Template.players.topScorers = function () {
  return Users.find({score: {$gt: 100}}, {sort: {score: -1}});
};

またはフェッチを追加します。

Template.players.topScorers = function () {
  return Users.find({score: {$gt: 100}}, {sort: {score: -1}}).fetch();
};

検索専用のアプローチは、現在docsにあるものですが、他の多くの人が を使用しているのを見てきましたfetch

4

2 に答える 2

0

これが、Ooodles Technologies でフォローしているものです。

ヘルパーを定義するには、テンプレート js ファイルに移動します。たとえば、テンプレート名が allInventory の場合は、allInventory.js ファイルに移動して、ヘルパーを次のように記述します。

Template.allInventory.helpers({

})

データベースまたはセッションまたは他のサービスからデータを取得するためのロジックを配置するこのヘルパー内に関数を作成し、それを次のように html で使用します。

    Template.allInventory.helpers({
        productDetails: function() {
              return Session.get('dbData');
        }
    })

On html side you just need to use the function name as follows:-

{{#each productInfo in productDetails}}

        <div class="imgb"><img src="{{productInfo.image_url}}"></div>
           {{productInfo.item_name}}
           {{productInfo.seller_sku}}
            {{productInfo.quantity}}
            {{productInfo.price}}

<a type="button" class="full-view text-success"><i id="fullView" data="{{productInfo._id}}" class="fa fa-eye"></i></a>

          {{/each}} 

上記の productDetails でわかるように、Html でレンダリングするデータを取得するヘルパー クラスの関数名は、その名前を介して直接アクセスでき、html テンプレートの各ループを介してトラバースできます。

于 2016-10-13T09:59:18.707 に答える