【发布时间】:2022-08-03 15:58:34
【问题描述】:
我正在学习 vuejs,我正在做我的第一个项目,这是一个社交网络,我想实现一个点赞按钮,如果用户已经喜欢它,它会调用 api 来添加或删除它。它确实在我的后端工作,但我不能让它在前面工作。 单击按钮时,我需要发送 userId 并添加或删除类似内容
这是数据
data() {
return {
post: {
file: \"\",
content: \"\",
likes: 0,
},
showModal: false,
showModifyPost: false,
user: {
firstname: \"\",
lastname: \"\",
_id: \"\",
},
};
},
我尝试的最后一种方法
likePost(id) {
axios
.post(\'http://127.0.0.1:3000/api/post/like/\' + id, {
headers: {
Authorization: \"Bearer \" + localStorage.getItem(\"token\"),
},
})
.then(() => {
console.log(\"response\", response);
this.user._id = response.data._id;
if(post.usersLiked == user._id) {
this.post.likes += 0
} else if (post.usersLiked != user._id) {
this.post.likes += 1
};
})
.catch((error) => console.log(error));
}
这就是模型
const postSchema = mongoose.Schema({
userId: { type: String, required: true, ref: \"User\" },
content: { type: String, required: true, trim: true },
imageUrl: { type: String, trim: true },
likes: { type: Number, default: 0 },
usersLiked: [{ type: String, ref: \"User\" }],
firstname: {type: String, required: true, trim: true },
lastname: {type: String, required: true, trim: true },
created_at: { type: Date},
updated_at: { type: Date }
});
知道有什么问题吗?谢谢 !
-
做D B正确更新?
-
你说它在前端不起作用是什么意思?方法未触发,API 调用返回错误数据,模板未刷新?
-
它不会在数据库上更新,我收到错误 401(未经授权)。
标签: vue.js