vue中的計算屬性傳參_第1頁
vue中的計算屬性傳參_第2頁
vue中的計算屬性傳參_第3頁
vue中的計算屬性傳參_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第vue中的計算屬性傳參目錄vue計算屬性傳參我們來看看下面的示例vue計算屬性傳參,根據(jù)值不同,渲染相應(yīng)的內(nèi)容業(yè)務(wù)描述

vue計算屬性傳參

最近很多小伙伴問到,計算屬性怎么做到像普通函數(shù)一樣傳參呢?

針對這個問題

我們來看看下面的示例

template

p{{getCallerName}}/p

/template

script

exportdefault{

props:{

callRecord:{

type:Object,

default:()=({}),

}

},

computed:{

//獲取名稱

getCallerName(){

return'callerName'

},

}

}

這個示例,我們接收一個從父組件傳過來的屬性值callRecord,對象類型

需求:我們需要根據(jù)接收值中的type字段,去判斷應(yīng)該解析名稱為主叫名稱還是被叫名稱

因為計算屬性具有緩存效果,所以我們期望用計算屬性去獲?。ó斎?,過濾器也能使用,方法有很多,這里不用較真)

所以,這里我們就要想辦法把我們的值當做參數(shù)傳進去。

官網(wǎng)并沒解釋計算屬性應(yīng)該怎么傳值,但是呢,計算屬性都會返回一個值,基于這個條件,我們就想到了另一個只知識點閉包

閉包:閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù),簡單點說,就是嵌套函數(shù)(關(guān)于閉包的解釋和使用,大家可以查閱相關(guān)資料,這里就不過多贅述了)

有了思路,我們就開始試試看

template

p{{getCallerName(callRecord)}}/p

/template

script

exportdefault{

props:{

callRecord:{

type:Object,

default:()=({}),

}

},

computed:{

//獲取名稱

getCallerName(){

returncallRecord={

if(callRecord.type===1||callRecord.type===2)returncallRecord.callerName;

returncallerInfo.callerNumber;

};

},

}

}

觀察兩段代碼可以看出,我們在計算屬性里return了一個函數(shù),這個函數(shù)的參數(shù)即我們傳入的值,而內(nèi)部也能直接拿到并使用這個值,這樣就做到了計算屬性傳參(當然,多個參數(shù)也是可行的)

好了,以上就是對計算屬性如何傳參的介紹使用

vue計算屬性傳參,根據(jù)值不同,渲染相應(yīng)的內(nèi)容

業(yè)務(wù)描述

在開發(fā)項目過程中,后臺傳過來一個數(shù)組,根據(jù)類型顯示相應(yīng)內(nèi)容。

1、可以直接在渲染出用三目表達式選擇渲染內(nèi)容??煽蛇x擇的條件多了,就不適用了,也不利于擴展。

2、采用計算屬性。

templatev-for="(item,index)inlanguageAddDataArray"

el-form-item:label=getLanguageType(item.languageType)

el-inputv-model="item.content"

auto-complete="off"size="mini"/el-input

/el-form-item

/template

script

exportdefault{

data(){

languageAddDataArray:[],

},

computed:{

getLanguageType(){

returnfunction(type){

r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論