【问题标题】:Why do i get "RangeError: Maximum call stack size exceeded"?为什么我会收到“RangeError:超出最大调用堆栈大小”?
【发布时间】:2020-11-29 10:14:58
【问题描述】:

我创建了搜索栏,当我按下回车键时,向服务器发送请求。

HTML 文件:

<v-text-field
  outlined
  dense
  label="Search..."
  append-icon="mdi-magnify"
  @keydown.enter="searchEvent($event.target.value)"
></v-text-field>

TS 文件:

methods: {
        ...mapActions('event', ['searchEvent']),
        
        searchEvent(value: string){
            this.searchEvent(value)
}

VUEX 文件:

searchEvent({ commit}, value) {
        console.log(value)
        EventApi.search(value)
            .then( result => {
               commit('searchEvents', result.data)
            })
            .catch( error => {
            
                console.error("Error: ", {error:error});
                
            })
    },

【问题讨论】:

    标签: javascript typescript vue.js vuex


    【解决方案1】:
    this.searchEvent(value)
    

    正在调用自己,给你一个无限递归循环。最终超过堆栈大小(限制)。您应该从 Vuex 导入 searchEvent,这样名称就不会发生冲突。也许删除 this 已经足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 2021-05-30
      • 2021-07-11
      相关资源
      最近更新 更多