我试图了解twitters typeahead.js库的工作原理,但我真的不明白hloodhound,'建议引擎'除了充当打字机对象的源外。
我的一些具体问题是:
- 什么是查询?什么是基准?它们看起来像什么,我从哪里从 那里得到它们
- 为什么我需要对我的查询和基准进行标记?
- 令牌化查询和基准会发生什么?
我会阅读源代码,但是我的JavaScript不是那么高级...我的文档对我来说真的不清楚,因为这主要是示例,并且似乎是针对以特定方式实现打字机的人。
如果有人会在概念上解释它是如何工作的,我将非常感激。
最好的问候,joshua
有一个详细的分步 typeahead教程@digital fortress 带有 js> js fiddles ,让您开始如何进行血腥猎犬和猎犬的方式。打字机一起工作。
这是我推论的教程中的几个提取物:
- 什么是查询?用户在文本框中键入的文本
- 什么是基准?一个基准是一个建议。(字符串)
-
为什么我需要对我的查询和基准进行令牌?这样做是为了简化搜索操作。例如,以字符串" Hello Super Man" 。您可以将此字符串通过Whitespace角色分配到3个较小的字符串中。因此,
"hello super man"
将成为["hello","super","man"]
,并可以轻松地搜索单词开始/包含hello
,super
和/或man
。 -
令牌化查询和基准的会发生什么?猎犬与查询和基准匹配,并将结果作为建议返回给用户。
注意:官方Typeahead库具有 NOT 从3年以上开始收到任何更新(Ref GitHub)。但是,有一个积极维护的叉子(截至2018年)应该使用。
参考