computed是Vue中非常重要的一個(gè)屬性。它可以根據(jù)依賴的數(shù)據(jù)進(jìn)行動(dòng)態(tài)計(jì)算并返回結(jié)果。而在計(jì)算結(jié)果完成之后,我們還可以對這些結(jié)果進(jìn)行進(jìn)一步的處理,這個(gè)時(shí)候,我們就可以使用Vue中的computed then。
// 示例代碼 data: { num: 1 }, computed: { doubleNum: function(){ return this.num * 2 } }, methods: { handleClick: function(){ this.num++ this.doubleNum.then(function(result){ console.log('computed的結(jié)果是:', result) }) } }
上述代碼中,我們定義了一個(gè)data屬性num,并且根據(jù)num動(dòng)態(tài)計(jì)算出另外一個(gè)計(jì)算屬性doubleNum。在methods中,當(dāng)num發(fā)生變化時(shí),我們會(huì)使用computed then獲取最新的doubleNum值,并且通過回調(diào)函數(shù)進(jìn)行處理。
computed then的使用方法非常簡單,只需要將computed屬性當(dāng)做Promise對象來使用即可。當(dāng)computed屬性發(fā)生變化時(shí),then方法會(huì)自動(dòng)調(diào)用,并且將最新的計(jì)算結(jié)果傳遞給回調(diào)函數(shù)。
總結(jié):computed then的使用非常便捷,我們只需要在computed屬性后面添加.then方法,并且在回調(diào)函數(shù)中處理最新的計(jì)算結(jié)果即可。這個(gè)方法非常適合于那些需要根據(jù)計(jì)算屬性動(dòng)態(tài)渲染頁面的場景。