当前位置: 首页 > 面试题库 >

我们如何在Typeahead.js中设置远程?

柳德义
2023-03-14
问题内容

在以前的版本中,我可以这样做:

$('#search').typeahead({
  name: 'Search',
  remote: '/search?query=%QUERY'
});

但是自从0.10更新以来,typeahead.js要求我们定义source我无法使之工作的内容。如何定义远程而不需要定义数据集功能?


问题答案:

Typeahead.js版本0.10.0现在使用称为建议引擎的单独组件来提供建议数据。Typeahead.js附带的建议引擎称为Bloodhound。

因此,您不能“无需定义数据集函数即可定义远程”。

可以在以下位置找到使用远程数据源的示例(我正在查询TheMovieDb API,例如尝试搜索“ Aliens”):

代码在这里:

// Instantiate the Bloodhound suggestion engine
var movies = new Bloodhound({
    datumTokenizer: function (datum) {
        return Bloodhound.tokenizers.whitespace(datum.value);
    },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: 'http://api.themoviedb.org/3/search/movie?query=%QUERY&api_key=470fd2ec8853e25d2f8d86f685d2270e',
        filter: function (movies) {
            // Map the remote source JSON array to a JavaScript object array
            return $.map(movies.results, function (movie) {
                return {
                    value: movie.original_title
                };
            });
        }
    }
});

// Initialize the Bloodhound suggestion engine
movies.initialize();

// Instantiate the Typeahead UI
$('.typeahead').typeahead(null, {
    // Use 'value' as the displayKey because the filter function 
    // returns suggestions in a javascript object with a variable called 'value'
    displayKey: 'value',
    source: movies.ttAdapter()
});

请注意,过滤器功能如何使您可以从非平凡的JSON数据源中选择要用作预输入建议的内容。

提前输入0.11.1的更新

对于那些使用较新版本的typeahead的用户,可以在此处找到基于原始问题的工作示例:

关于Typeahead 0.10.0,新版本(0.11.1)具有以下区别:

  • “过滤器”功能已重命名为“变换”。
  • 将其分配给远程源时,无需在Bloodhound对象上调用Initialize,也无需调用ttAdapter()。
  • 现在需要在远程选项哈希中指定通配符(例如%QUERY)。


 类似资料:
  • 我在两台不同的机器上有两种不同的卡桑德拉设置。我试图从一台机器上读取数据,使用Spark进行处理,然后将结果写入第二个设置。我使用的是spark-cassandra-connector-java_2.10。当我尝试使用Java函数时。writeBuilder,它允许我指定键空间和表名,但Cassandra主机是从Spark上下文获取的。除了Spark上下文中提到的方法外,还有其他方法可以将数据写入

  • 问题内容: 最初,我使用以下ajax设置cookie。 现在,我想使用servlet的添加cookie函数来设置cookie。但是我不知道如何实现我的目标。 为了延长Cookie的时间限制,我应该在React端写些什么来接收Cookie的会话时间? 问题答案: 看来以前在npm软件包中存在的功能已移至。现在,来自通用Cookie存储库的相关示例是:

  • 问题内容: 我有10,000个地址和5,000人的大型数据库。 我想让用户在数据库中搜索地址或用户。在输入文本时,我想使用Twitter的提前提示功能来建议结果。 在此处查看NBA示例:http : //twitter.github.io/typeahead.js/examples。 我了解从速度和负载的角度来看,预取15,000个项目并不是最佳选择。尝试实现此目标的更好方法是什么? 问题答案:

  • 问题内容: 我们有必要在哪里需要在表头上显示“隐藏/显示”列功能,并且还希望在ant设计中为表头提供不同的颜色。谁能帮助我,我们该怎么做?我没有找到任何控件可以执行此操作,因为标头渲染完全在组件内部。 问题答案: 您可以将该属性与普通CSS结合使用。

  • 这款 jQuery 插件来自于 Twitter 的一个新的项目,支持远程和本地的数据集。比较有特色的地方在于你可以将数据集使用本地存储(local storage)来保存在本地,有效的提高用户体验。同时也拥有很多远程数据集的处理选项,例如(请求频率,最大的并发请求数,等等)。 主要特性 支持数据本地保存,客户端加载,优化加载速度 支持多语言,并且支持阿拉伯文 支持Hogan.js模板引擎整合 支持多数据集拼装 支持本地和远程的数据集

  • 本文向大家介绍如何在Linux上设置Rsyslog远程日志记录,包括了如何在Linux上设置Rsyslog远程日志记录的使用技巧和注意事项,需要的朋友参考一下 每个Linux发行版都带有一些日志记录系统,用于记录系统活动。这在系统故障排除期间可能会有所帮助。Rsyslog是一个开放源代码,并且在系统日志处理速度方面可谓飞速发展。它可用于几种主要的Linux发行版,包括基于Debian和Red Ha