Извините, новый для рамки Meteor!Как управлять двумя подписками для отображения внутри одного шаблона?
I Подписано на две функции публикации. Даже если обе функции публикации нацелены на одну и ту же коллекцию, они имеют разные функции, которые я хотел бы отображать в одном шаблоне. Как мне это достичь. Я сделал выделение исследований, но, похоже, нет достаточной информации о том, как достичь.
Ниже приведены два опубликовывать функции в коде, который я подписаться:
.server/main.js:
Meteor.publish('MerchantTrending', function (categoryMan){
var currentUser = this.userId;
return buyList.find({ who:"Merchant", ownerId:currentUser, itemCategory: { $in: categoryMan } }, {skip: 0, limit: 3});
});
.server/main.js:
Meteor.publish('myTopViews', function(){
var currentUser = this.userId;
return buyList.find({ newArrivalsExpiryDate : {'$lte': new Date()}}, {ownerId:currentUser }, {skip: 0, limit: 3});
});
Читает является подписной функцией в коде
.client/main.js:
Router.route('/MerchantLandingPage', {
subscriptions: function(){
var categoryMan = Session.get('category');
return Meteor.subscribe('MerchantTrending', categoryMan, 'merchantTopViews')
}
});
Теперь вспомогательной функции в коде:
Template.MerchantLandingPage.helpers({
'top3Trending' : function() {
return buyList.find({}).fetch();
},
'myTopViews' : function() {
return buyList.find({}).fetch();
}
});
А теперь шаблон в коде:
<template name="MerchantLandingPage">
##### *** Top three trending items *** ########
{{#each top3Trending}}
ItemName:: <b>{{itemName}}</b> <br>
Item Category:: <b>{{itemCategory}}</b> <br>
Discription:: <b>{{descriptions}}</b> <br>
Image:: {{this.photo._id}} <br>
Date Created:: {{createdDate}} <br>
{{/each}}
<br><br>
############ *** My top Views *** #############
{{#each myTopViews}}
ItemName:: <b>{{itemName}}</b> <br>
Item Category:: <b>{{itemCategory}}</b> <br>
Discription:: <b>{{descriptions}}</b> <br>
Image:: {{this.photo._id}} <br>
Date Created:: {{createdDate}} <br>
{{/each}}
</template>
И {{#each myTopViews}} и {{#each top3Trending}} успешно отображаются, но не правильно. Когда в
Meteor.subscribe переменная categoryMan
(«MerchantTrending», categoryMan «merchantTopViews») значение
изменения, она затрагивает и как результат, так и {{#each myTopViews}}
{{#each top3Trending}}
, когда его только должны повлиять {{#each top3Trending}}
.
Как я могу получить подписки, чтобы НЕ повлиять на обоих {{#each myTopViews}}
и {{#each top3Trending}}
, но только {{#each myTopViews}}
в моем шаблоне?
Спасибо за помощь!
Как насчет публикации коллекции с сервера с необходимыми полями и применения селекторов на стороне клиента? –