我有一个聊天 API,正在连接到 Vue.js 项目。
当用户进入聊天室页面时,它会发送一个ajax请求,然后调用获取整个聊天记录的函数:
mounted() {
$.ajax({
url: `http://localhost:8000/api/rooms/${this.$route.params.id}/`,
data: {username: this.username},
type: 'PATCH',
success: (data) => {
const user = data.members.find((member) => JSON.parse(member).username === this.username)
if (user) {
// The user belongs/has joined the session
this.fetchChatSessionHistory(this.$route.params.id)
}
}
})
},
fetchChatSessionHistory (uri) {
$.get(`http://127.0.0.1:8000/api/rooms/${uri}/messages/`, (data) => {
this.messages = data.messages
})
},
但失败了:
TypeError: _this.fetchChatSessionHistory is not a function
我知道它可能定义在错误的地方,但我不知道如何正确执行。
最佳答案
您应该将该函数放入 methods
属性中,如下所示:
mounted(){
...
},
methods:{
fetchChatSessionHistory (uri){
....
}
}
关于javascript - 无法调用 Mounted() 内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54079726/