vue.js couldn't realize that the model has been changed in some cases