在backbone.js框架中使用Visualsearch.js
Using Visualsearch.js in a backbone.js framework
首先,感谢DocumentCloud发布了这两个超级有用的工具。
我的问题是:
我试图在一个backbone.js应用程序中使用visulassearch .js。
在我的应用程序中,我有一个基本的index.html和一个myapp.js javascript文件,其中包含主应用程序与backbone.js完成
我使用CouchDB作为数据存储,并且我可以成功地以restful方式检索要放在集合中的所有数据。
我必须检索由visualsearch.js给出的搜索查询,并使用它来过滤集合。
我当然需要一个搜索框的视图,当输入时触发一个事件,但是…
-
我应该初始化搜索框外部到myapp.js,在一个额外的js文件或我的index.html页面(在visualsearch迷你教程中建议)?还是应该在搜索框视图(myapp.js)中初始化?后一种解决方案似乎太棘手了(这是我试图做的,但即使我成功了,它也太复杂了,我失去了骨干mvc的简单性)。
-
假设我成功地将搜索字符串检索为JSON对象,如
{name:'Fat DAvid', address:'24, slim st', phone:'0098876534287'}
。这样做之后,我可以使用哪个函数来检索集合中字段与给定字符串匹配的模型。我知道我应该做一个映射或过滤器,但这些功能似乎是为略微不同的任务服务的。。这真的是过滤结果的最好方法吗?它向客户端收费(客户端必须过滤结果),而对CouchDB进行新的查询(视图或过滤器)将非常简单,考虑到数据量小,对站点的访问速率低,成本也不高。然而,在客户端进行所有过滤操作,比在CouchDB中创建新视图(或列表或过滤器)并将其链接到backbone.js视图
要简单得多。
你可以在myapp.js中初始化VisualSearch.js搜索框。只要确保您保留了对它的引用,以便稍后可以提取出facet和值。
例如:var visualSearch = VS.init({...})
// Returns the unstructured search query
visualSearch.searchBox.value()
// "country: "South Africa" account: 5-samuel title: "Pentagon Papers""
// Returns an array of Facet model instances
visualSearch.searchQuery.facets()
// [FacetModel<country:"South Africa">,
// FacetModel<account:5-samuel>,
// FacetModel<title:"Pentagon Papers">]
如果您在Backbone集合中有这些模型,您可以轻松地执行过滤器:
var facets = visualSearch.searchQuery.models;
_.each(facets, function(facet) {
switch (facet.get('category')) {
case 'country':
CountriesCollection.select(function(country) {
return country.get('name') == facet.get('value');
});
break;
// etc...
}
});
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- Drupal模块页面中的Visualsearch.js
- 如何在visualsearch.js中输入自由文本
- 我们如何使用visualsearch.js的输出
- 在backbone.js框架中使用Visualsearch.js