【问题标题】:The vue component does not rerendervue 组件不会重新渲染
【发布时间】:2019-11-13 01:06:07
【问题描述】:

我从服务器收到了一个值,但它没有出现在输出中。我尝试了组件密钥或强制更新,但无济于事。

export default {
  data() {
      return{
          msg: null,
          componentkey: 0,
      }
  },
      async mounted() {
      try{
          let response =await axios.get('http://localhost:5000/process')
          this.msg = response.data
          this.componentkey += 1;
      }
      catch (err) {
          // eslint-disable-next-line
          console.log(err)
      }
    },
};

哦,我正在引用服务器而不更新,你能告诉我这个吗?

【问题讨论】:

  • “它没有出现在输出中”是什么意思?哪些部分没有出现,只有您的部分或全部 msg 属性?
  • 这里不需要componentkey 重新渲染。所以控制台没有错误?
  • 我无法重现这个问题~jsfiddle.net/smtau73y
  • @unyeol 你至少应该从你的代码中得到TypeError: msg is null
  • 我知道你只是想让你的值呈现,所以你会认为强制呈现是一种选择,但解决方案可以像在数据中使用 msg: {}, 一样简单。

标签: vue.js


【解决方案1】:

我认为您不需要将“key”属性绑定到 div 标签。 "key" 属性就像是 Vue 用来标记通过 "v-for" 循环创建的 DOM 的身份数据。

【讨论】:

    猜你喜欢
    • 2017-11-09
    • 2018-04-19
    • 2020-02-13
    • 2018-10-14
    • 2019-07-30
    • 2020-07-19
    • 2017-05-08
    • 2020-04-18
    • 2018-09-01
    相关资源
    最近更新 更多