繁体   English   中英

将结果与在vue.js中更改的值同步

[英]Synchronize result with value changed in vue.js

我写了如下的.vue文件,以在100ms后更改h1#msg

<template>
  <div id="main">
    <h1 id="msg">{{ msg }}</h1>
  </div>
</template>

<script>
export default {
  name: 'Top',
  data () {
    let a=['TEST']
    setTimeout((function(a){a[0]='test'}),100)
    return {
      msg: a
    }
  }
}
</script>
<style>
</style>

但是,我无法通过此代码更改状态。 我试图使用数组通过引用传递值。 我不喜欢使用querySelector(),因为它迫使我在HTML和方法的参数中添加态度。

不要在data()编写javascript,正确的代码是:

<script>
export default {
  name: 'top',
  data () {
    return {
      msg: 'test'
    }
  }
  mounted() {
    setTimeout(() => this.msg = 'Bu!', 100)
  }
}
</script>

尝试此代码段

<template>
  <div id="main">
    <h1 id="msg">{{ msg }}</h1>
  </div>
</template>

<script>
  export default {
  name: 'Top',
  data () {
    return {
      msg: 'a'
    }
  },
  created() {
    setTimeout(() => this.msg = 'Hello World!', 100)
  }
}
</script>

您的data应仅将变量声明为更改前要更改的变量。 然后在mounted执行timeout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM