是否有可能在" ready"之前不计算计算属性。在Vuejs?

时间:2016-06-15 09:54:36

标签: javascript vue.js

我在Vue.js中有一个computed属性,它依赖于来自AJAX调用的另一个值。在computed方法完成之前,是否可以不计算ready属性?总体来说一切正常,但控制台中的错误很烦人。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:



new Vue({
  el: '#demo',
  data: {
    numbers: []
  },
  ready () {
    // simulate an ajax call
    setTimeout(() => {
      this.numbers = [1, 2, 3, 4, 5]
    }, 2000)
  },
  computed: {
    sum () {
      // before the ajax response, returns 0
      if (this.numbers.length === 0) {
        return 0
      }
      // after the ajax response, returns the sum
      return this.numbers.reduce((prev, curr) => {
        return prev + curr;
      })
    }
  }
})

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.24/vue.min.js"></script>

<div id="demo">
  {{ sum }}
</div>
&#13;
&#13;
&#13;