【发布时间】:2020-06-14 17:07:18
【问题描述】:
我正在开发一个网站,您可以在其中创建、查看和喜欢电影的播放列表。
在具有“/playlistid”路由的“播放列表页面”中,有一个复选框,我将其用作“喜欢按钮”。
基本上我从我的服务器加载一个数组(我们称之为“收藏夹”),其中包含我从 this.$route.params.id 中获取的 ID,当您单击喜欢时。
现在,如何将 v-model 与我的本地(已加载)数组绑定,以检查 $route.params.id 是否包含在其中,并检查输入是否为真?
这是我的代码。
HTML 方面:
<label v-if="like" class="ml-2">
<input type="checkbox" class="heart" @change="checkLike" v-model='favorites.includes(this.$route.params.id)'>
<span></span>
</label>
脚本端:
data () {
return {
favorites: []
}
},
methods: {
checkLike() {
if (this.favorites.includes(this.$route.params.id)) {
this.favorites.splice(this.$route.params.id, 1);
axios.patch(...)
} else if (!this.favorites.includes(this.$route.params.id)) {
this.favorites.push(this.$route.params.id)
axios.patch(...)
}
}
在 v-model 中使用 contains() 或 indexOf() 显然不起作用,那么我该怎么做呢?提前感谢您的帮助。
【问题讨论】:
标签: javascript vue.js vuejs2 v-model