有人可以看一下我的代码并告诉我如何修复它以使其运行,我正在尝试为 meteor 应用程序创建响应式(Reactive)搜索,但它不起作用。
Template.search.onCreated(function(){
this.textd = new ReactiveVar('search');
});
Template.search.helpers({
results: function() {
return Websites.find(Template.instance().textd.get());
}
});
Template.search.events({
'keyup .inp': function(event, template) {
template.textd.set(document.getElementById("edValue").value);
}
});
最佳答案
Template.search.onCreated(function(){
this.textd = new ReactiveVar('search');
});
Template.search.helpers({
results: function() {
//var regexp = new RegExp(Session.get('search/keyword'), 'i');
//return Websites.find(Template.instance().textd.get());
let textd = Template.instance().textd.get();
return Websites.find({
name: {$regex: textd}
});
}
});
Template.search.events({
'keyup .inp': function(event, template) {
//Session.set('search/keyword', document.getElementById("edValue").value);
template.textd.set(document.getElementById("edValue").value);
}
});
这就是我所做的,它似乎有效,很好,但我不满意我想搜索整个字段而不仅仅是一个字段。
编辑
我已经能够做我想做的事情了
Template.search.helpers({
results: function() {
//var regexp = new RegExp(Session.get('search/keyword'), 'i');
//return Websites.find(Template.instance().textd.get());
let textd = Template.instance().textd.get();
if(textd!==""){
return Websites.find({
$or: [
{title: {$regex: textd}},
{url: {$regex: textd}},
{description: {$regex: textd}},
{createdBy: {$regex: textd}}
]
});
} else {
return false;
}
}
});
关于javascript - Meteor 响应式(Reactive)搜索代码未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39935347/