我见过类似的问题,但无法将其应用于我的案例...
我有一个路线定义iron-router
:
this.route('home', {
path: '/',
template: 'home',
waitOn: function(){
return [Meteor.subscribe('books'),Meteor.subscribe('authors'))];
},
onBeforeAction: function(){
Session.set('search_keywords', this.params.search);
}
});
在我的home.js
文件中,我有一个助手显示books
如下:
Template.booksList.helpers({
books: function () {
if(Session.get("search_keywords")){
keywords = new RegExp(Session.get("search_keywords"), "i");
var result = Books.find({$or:[{name:keywords},{description:keywords},{tags:keywords}]},{sort: {updatedAt: 1}});
if(result.count()===0){
console.log('no results found')
return [];
}else{
return result;
}
}
}
});
和上home.html
:
<template name="booksList">
<div class="row">
{{#each books}}
{{> bookDetail}}
{{/each}}
</div>
</template>
目的是从一个 URL 访问视图,例如http://mydomain.com/?search=Happy%20Potter
查找所有哈利波特书籍。
我不明白的东西......页面被渲染了两次,首先说没有结果然后显示结果。你明白为什么吗?
谢谢 !