【问题标题】:How to display the value which is inside computed in VueJS2?如何显示在 VueJS2 中计算的值?
【发布时间】:2018-09-21 10:36:29
【问题描述】:

如何显示 VueJS2 内部计算的值?实际上我正在尝试使用计算属性返回值 click*2 。所以我使用表达式{{counter}} 显示输出。但我没有得到任何输出,起初它被设置为 0 (存储在数据中)。即使我没有使用v-once。那么为什么我的计数器值没有通过计算属性更新呢?

 <div id="app4">
    <p>counter : {{ counter }}</p>
    <p>clicks : {{ click }}</p>
    <button v-on:click="increment">increment</button>
  </div>

    <script>
      var vm = new Vue({
        el: '#app4',
        data: {
           counter:0,
           click: 0,
        },
       methods: {
           increment() {

               this.click++;
           }
       },
       computed: {
           counter() {
               return this.click * 2;
           }
       }
     });
    </script>

【问题讨论】:

    标签: vuejs2


    【解决方案1】:

    从数据中删除counter,它将起作用。您有两个相互影响的属性 - 一个位于 data 中,另一个位于 computed 中。

    【讨论】:

    • 对此我有一个疑问。首先,我从 data 加载计数器的值。我没有为那个计数器使用v-once 指令。那么为什么计数器值没有通过computed 更新?
    • 因为如果存在同名的数据属性,则在渲染过程中会忽略计算属性。当您加载应用程序时,您应该会收到 Vue 警告。另外,我不明白您为什么要将counter 同时用作数据和计算属性。
    • 注意到了这一点。实际上,我的浏览器中没有收到任何 Vue 警告。谢谢人:)
    猜你喜欢
    • 1970-01-01
    • 2023-01-06
    • 2012-06-06
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2020-11-15
    相关资源
    最近更新 更多