2016-06-15 3 views
0

У меня есть свойство computed в Vue.js, которое зависит от другого значения от вызова AJAX. Невозможно ли вычислить свойство computed до тех пор, пока не будет закончен метод ready? В целом все работает нормально, но ошибка в консоли раздражает.Возможно ли вычислять вычисленное свойство до «готового» в Vuejs?

+0

Создать логическое значение данных установлены значением лжи, которая получает значение ИСТИНЫ в готовом и разместить вычисляемый код внутри, если с условием флаг готовности – vbranden

ответ

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>

Смежные вопросы