javascript - 无法在mounted() 中调用函数
问题描述
我有一个正在连接到 Vue.js 项目的聊天 API。
当用户进入聊天室页面时,它会发送一个 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 不是函数
我知道它可能是在错误的地方定义的,但我不知道如何正确地定义它。
解决方案
您应该将该函数放入methods
属性中,如下所示:
mounted(){
...
},
methods:{
fetchChatSessionHistory (uri){
....
}
}
推荐阅读
- php - 如何更快地计算 mySQL 数据库中的条目?
- java - 调用 Kura API 方法?
- postgresql - 缓存计划不得更改结果类型
- amazon-web-services - 如何检查与 AWS 中特定 IAM 访问密钥关联的权限
- xaml - ListView not triggering ItemTapped
- php - 是否有用于向现有 Doctrine 实体添加属性的 CLI 命令?
- swagger-2.0 - Swagger2.0 如果指定了 Parent,那么它的所有孩子都应该是强制性的
- java - JavaFX TableView 与表格列表
- mongodb - 如何在 mongodb 中创建数据库结构以保存日期范围?
- c# - AWS SDK 获取 rbac 令牌的会话令牌