javascript - 在浏览器上刷新集合

标签 javascript meteor

我有一个模板:

  <div id="search">
    {{> search}}
  </div>

  <div id="bookmarks-container">
    {{> bookmarks}}
  </div>

<template name="bookmarks">
    {{#each bookmarks}}
        <div class="bookmark">
            {{URL}}
        </div>
    {{/each}}
</template>

<template name="search">
    <input type="text" id="search" value="" />  
</template>

我有一个获取书签的代码:

bookmarks = new Meteor.Collection("Bookmarks");

if (Meteor.isClient) {

  Template.bookmarks.bookmarks = function() {    
    var s = $('#search').text();
    alert(s);
    if (s === '')
      return bookmarks.find({});
    else
      return bookmarks.find({tags : 'some_tag'});
  };

如果 #search 文本字段为空,我想显示所有书签,如果不是,则过滤我的书签。

正如我所见,Template.bookmarks.bookmarks 仅调用一次 - 当页面加载到浏览器中时。每次用户按下 #search 文本输入中的按钮时,如何调用此方法:

Template.search.events({
   'keyup #search' : function(e,t) {
     // ....
   }

提前致谢。

最佳答案

使用Session中继数据

var s = Session.get("query");

Template.search.events({
  'keyup #search' : function(e,t) {
    Session.set("query",t.find('#search').value);
  }

模板书签助手本身不知道何时刷新数据。使用Session告诉它query变量/哈希是 react 性的。

关于javascript - 在浏览器上刷新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364346/

相关文章:

javascript - 触发 Facebook 转化像素

javascript - 使用 jQuery 在 textarea 上插入一个 float 按钮

mongodb - Meteor Collections 中的一对多关系(或 NoSQL Mongo 等价物)

mongodb - 对于按自定义字段排序的最近文档,什么是合适的 Pub/Sub?

javascript - Node(Meteor) 中的 setTimeout 内存泄漏

javascript - 在 Meteor 中对多个按钮使用 x-editable

javascript - 如何获取Node.JS字段值(提交的表单数据)

javascript - 位置粘性不占用空间

javascript 控制台未记录正确的循环值

javascript - Meteor AutoForm - 是否可以手动调用 onSuccess 或 onError Hook ?