【问题标题】:Using search with Bloodhound通过 Bloodhound 使用搜索
【发布时间】:2015-12-18 17:09:48
【问题描述】:

我正在尝试了解 Bloodhound 的工作原理(无需提前输入)。

var engine = new Bloodhound({
    local: [{ id: 1, name: 'dog' }, { id: 2, name: 'pig' }],
    identify: function(obj) { return obj.id; },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    datumTokenizer: Bloodhound.tokenizers.whitespace
});

engine.search('do', function(datums) {
    console.log(datums); // results: []
});

在这个非常基本的示例中,为什么我的搜索没有返回我的第一个项目?我做错了什么?

【问题讨论】:

    标签: bloodhound


    【解决方案1】:

    Bloodhound 标记器开箱即用,适用于基本类型的数组。您有“复杂”数据(具有 2 个属性的对象),因此您必须告诉 Bloodhoud 使用 obj 标记器和传递属性名称来标记什么:

    datumTokenizer: Bloodhound.tokenizers.obj.whitespace("id", "name"),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多