为什么我会收到“RangeError:超出最大调用堆栈大小”?

我创建了搜索栏,当我按 Enter 时,然后将请求发送到服务器。


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});

                

            })

    },


MM们
浏览 203回答 1
1回答

犯罪嫌疑人X

this.searchEvent(value)正在调用自身,给你一个无限递归循环。最终超出了堆栈大小(限制)。您应该从 Vuex 导入searchEvent,这样名称就不会冲突。也许删除this已经足够了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript