我正在尝试使用Vue,Nuxt,Axios和Buefy进行异步自动完成输入.它基本上可以工作,但是当用户刚刚开始输入时我需要有不同的字符串,而且还没有什么可以显示,并且当找不到这样的请求时.
如果输入值不为空,我正在检查计算变量,如果无法找到请求地址,axios会返回空箭头来处理.但它会导致错误
无法读取未定义的属性"长度"
奇怪的是address变量已成功用于组件的其他部分.
我的vue文件如下:
<template lang="pug">
b-field(label="Your address?")
b-autocomplete(
rounded,
v-model="address",
:data="data",
placeholder="Start typing",
icon="magnify",
@input="getAsyncData",
@select="option => selected = option",
:loading="isFetching"
)
template(slot="empty") {{ dummyText }}
</template>
<script>
import axios from 'axios'
import debounce from 'lodash/debounce'
export default {
data() {
return {
data: [],
address: '',
selected: null,
isFetching: false,
nothingFound: false,
test: false
}
},
computed: {
dummyText: () => {
if (this.address.length > 0 && this.nothingFound) { // This will return error
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试用来自websocket的数据填充我的vuex存储。我正在使用Nuxt。为了处理websocket,我使用了vue-native-websocket包。与websocket的连接成功,但是无法提交到存储,它在每个套接字事件上引发错误Uncaught TypeError: this.store[n] is not a function
根据Nuxt和vue-native-websocket文档,我使用它们的方式如下:
插件native-websocket.js:
import Vue from 'vue'
import VueNativeSock from 'vue-native-websocket'
import store from '~/store'
Vue.use(VueNativeSock, 'wss://dev.example.com/websocket/ws/connect', { store: store })
Run Code Online (Sandbox Code Playgroud)
nuxt.config.js
plugins: [
{src: '~plugins/native-websocket.js', ssr: false}
],
Run Code Online (Sandbox Code Playgroud)
建立连接后,我得出一个结论,即程序包已正确连接,所以这与存储有关,我无法弄清问题所在
UPD:经过一些解决方法后,我发现native-websocket.js中的日志存储返回
store() {
return new __WEBPACK_IMPORTED_MODULE_1_vuex__["default"].Store({
state: {...my store
Run Code Online (Sandbox Code Playgroud)
并提交给它,因此返回__WEBPACK_IMPORTED_MODULE_2__store__.default.commit is not a function
webpack,正如我所见