Vue 数据更新渲染DOM的问题

我在input[type=checkbox]上绑定了一个model,click触发一个ajax方法,现在想让失败时,把数据回滚并重新渲染checkbox,出现了一个困扰。

dom的代码

<input type="checkbox"
       v-model="m.status"
       :true-value="1"
       :false-value="0"
       @click="updateMessengerRight(m)">

方法

methods: {
  updateMessengerRight (m) {    this.doUpdateRight(m.openid, m.status).then(rs => {      if (rs.data.success) {  
        this.$notify.show('操作成功')
      } else {
        m.status = (m.status === 1) ? 0 : 1
        this.$notify.alarm(rs.data.errmsg)
      }
    }).catch(err => {
      console.log(err)
      m.status = (m.status === 1) ? 0 : 1
      this.$notify.alarm('系统错误')
    })
  }
}

在返回失败或者catch里面希望重置m.status的值,但结果是,值是改变了,但dom未重新渲染,不知该如何操作。
谢谢~


神不在的星期二
浏览 484回答 1
1回答

精慕HU

用的是vue@2.1.6 + vue-template-compiler@2.1.6都升级到最新的&nbsp;2.1.9&nbsp;就没这个问题了看来是vue旧版本的一个bug
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript