Mar*_*ski 2 javascript mongodb meteor
我正试图在我的流星项目中实现一个简单的搜索选项,但我从来没有任何搜索栏的经验.我的模板目前列出了一个集合中的所有元素,我希望我的搜索栏可以反应性地聚合这些结果.
我已经能够通过简单的搜索包实现这一结果,但这是我的问题开始的地方.
使用简单搜索,除非我开始在搜索框中输入,否则无法显示任何结果.外部包的问题在于它们真的很难编辑,我不知道如何添加像这样的选项或自定义搜索栏.
我已经尝试过关注搜索源包,但教程是针对特定的包搜索解释的,我不知道如何将其调整到我的项目.
再一次.我想在我的列表中添加一个搜索栏,但是如果我没有使用它,我希望列出所有元素,如果没有任何匹配则不需要.
看看我放在一起的这个meteorpad.完整代码如下:
<body>
{{> main}}
</body>
<template name="main">
<div><input id="search" placeholder="Search"></div>
{{> foodList}}
</template>
<template name="foodList">
<ul>
{{#each foods}}
<li>{{name}}</li>
{{/each}}
</ul>
</template>
Run Code Online (Sandbox Code Playgroud)
Foods = new Mongo.Collection('foods');
Run Code Online (Sandbox Code Playgroud)
Template.foodList.helpers({
foods: function () {
var regexp = new RegExp(Session.get('search/keyword'), 'i');
return Foods.find({name: regexp});
}
});
Template.main.events({
'keyup #search': function(event) {
Session.set('search/keyword', event.target.value);
}
});
Run Code Online (Sandbox Code Playgroud)
Meteor.startup(function() {
if (Foods.find().count() === 0) {
Foods.insert({name: 'Blueberries'});
Foods.insert({name: 'Strawberries'});
Foods.insert({name: 'Steak'});
Foods.insert({name: 'Eggs'});
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1477 次 |
| 最近记录: |