我在vue js中使用星级评级插件,我使用v-model来显示db的评级。一切正常,因为当用户没有登录并且他/她试图评价它显示错误“登录到率”,但星星不重置为db值而是显示未登录用户的评级。目前在错误消息后我正在刷新整个页面。有没有一种简单的方法来重置星星而不是刷新整个页面?
:show-rating="false" @rating-selected="setRating" v-model="rating"
v-bind:star-size="20"
上面是开始评级,点击它时调用一个函数,我正在检查用户是否登录了api调用。提前谢谢。
setRating: function (rating) {
axios.get('/checkuser').then(response => {
this.user = response.data;
if (this.user === "Logout") {
toastr.error('Please login to rate', 'Error', {
positionClass: 'toast-bottom-right'
});
window.location = "/menu/" + this.menu_id;
} else {
// save in to db
}
}).catch(error => {
// TODO: Handle error
});
},
答案 0 :(得分:0)
如果没有登录,则必须重置rating
个对象。
setRating: function (rating) {
axios.get('/checkuser').then(response => {
...
if (this.user === "Logout") {
...
this.rating = 0; <=== reset rating here (in data, not the rating parameter)
}
...
})
...
},
答案 1 :(得分:0)
在api调用之后使用“this.load()”设法修复它,刷新所有组件。 :)