在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue如何有條件的觸發(fā)計算屬性而不適用watch

vue如何有條件的觸發(fā)計算屬性而不適用watch

例:一個數(shù)組
想倒序顯示

<div v-for="res in resArr">
    {{res.code}}
    {{res.name}}
</div>

data:{
    arr:[]
}

computed:function(){
    var len = arr.length
    var source = this.arr
    var dist = []
    for(var i=len;i>0;i--){
        dist.push(source[i])
    }
    return dist
}

但是問題來了,我的mounted里
mounted:{
    axios.get("/...").then((ret)=>{
        arr = ...
    }
}

這里的是異步給arr初始化
問題就來了,computed初始返回為空,所以就報res.code未定義錯誤,
想問的是,如何在mounted之后觸發(fā)這個計算呢。這里是異步的坑
回答
編輯回答
歆久

computed 的寫法難道不是?:

computed: {
    resArr: function(){
        ...
    }
}

var len = arr.length

這里的arr又是什么鬼,難道不是this.arr?

2017年2月7日 20:06
編輯回答
安于心

數(shù)組倒序,直接用arr.reverse(),API即可啊。沒必要使用計算屬性。
而且計算屬性一般是對象。Vue API文檔-computed

var arr= [1,2,3];
arr.reverse();
console.log(arr);
// [3, 2, 1]
2018年9月20日 05:24