vue-typeahead 说需要提供 HTTP 客户端

Posted

技术标签:

【中文标题】vue-typeahead 说需要提供 HTTP 客户端【英文标题】:vue-typeahead says you need to provide a HTTP client 【发布时间】:2018-04-19 09:48:56 【问题描述】:

当我尝试在浏览器中加载 vue-typeahead 时,它显示“您需要提供一个 http 客户端”。我该怎么做?

我正在使用 webpack(laravel 5.5 附带的默认配置)。我已经从这里逐字复制了用法示例https://github.com/pespantelis/vue-typeahead,并将其放在自己的文件typeahead.vue 中。

然后我将文件添加为 vue 组件,如下所示:

Vue.component('typeahead', require('./components/admin/shared/typeahead.vue'));

webpack 捆绑工作正常 (npm run dev),我可以看到组件在我的浏览器中加载,但是当我输入几个字符并触发 http 请求时,我收到错误消息。

Axios 是作为引导我的 Vue 实例的一部分加载的,但大概它需要以某种方式传递给 vue-typeahead?

【问题讨论】:

【参考方案1】:

文档不是很清楚。

但是查看示例目录:您必须在 Vue 原型上设置 $http 属性。

你必须使用提供与axios包兼容的接口的http客户端

https://github.com/pespantelis/vue-typeahead/blob/master/demo/main.js

看来源码只使用get(url, params),所以如果你想推出自己的http客户端而不是使用axios,这不是很多工作。

【讨论】:

以上是关于vue-typeahead 说需要提供 HTTP 客户端的主要内容,如果未能解决你的问题,请参考以下文章

HTTP内容协商

前端学HTTP之内容协商

前端学HTTP之内容协商

服务发现的基本原理

Http基本认证

HTTP文件断点续传的原理