vue 過濾器,偵聽器,計算屬性

2022-09-10 02:39:14 字數 1690 閱讀 3734

常用於文字格式化,可以用在插值表示式和v-bind屬性繫結,使用管道符(|)呼叫,過濾器本質上是乙個函式,在與method同級定義,fliters:{},且過在vue3.0過濾器已移除,顯示的值是過濾器的返回值(必須有),在過濾器的第乙個形參就可以獲取到管道前待處理的值。

全域性過濾器:

vue.filter("name",function(str))

全域性與私有過濾器衝突按照就近原則,呼叫私有過濾器。

過濾器可以多個呼叫,前面的過濾器返回值是另乙個的引數。

在呼叫過濾器時可以傳參。

監視某些資料的變化,並做相應的操作

要監聽那個資料就將那個資料定義為方法名,形參中第乙個為就值,第二個引數為新的值。

定義在watch:{}結點上,只要監聽的值發生變化就會呼叫***。

函式形式的偵聽器:不會在重新整理頁面時自動觸發。

偵聽的是乙個物件時,物件屬性變化不觸發。

物件形式的偵聽器:可以通過immediate選項,讓偵聽器進入觸發。

在物件中有個handler屬性中形參拿到舊值與新值。如immediate屬性為true,進入則回觸發。開啟深度偵聽,deep:true;只要物件中任何乙個屬性變化就會觸發。

如果只想偵聽物件中某個值的變化,可以使用『object.val』():{},

專注於資料請求的庫

呼叫axios的返回值為乙個promise物件

axios(,

//請求體

data:{}

})

如果呼叫某個方法的返回值為promise例項,可以加await

await只能在被async修飾的方法中。

可以使用解構,如果需要重新命名用:,

axios.get('url',

})

axios.post('url',{})

vue中每個.vue檔案就是乙個元件,每乙個元件有三個部分組成,分別為:template,script,style

使用組的步驟:使用import語法匯入需要的元件,(匯入名可自定)

使用components結點註冊元件,

使用名稱標籤。

全域性元件的註冊,在main.js中,使用vue.component(『使用名稱 』,匯入時名稱)

元件不能自己使用自己,會造成無結束的遞迴,從而棧溢位。

在與data平級,定義乙個props屬性(自定義屬性),在元件標籤可以類似使用乙個attribute的形式使用傳值,傳值時要使用v-bind

v-bind 中的寫的內容是js的語法

props中的資料可以直接在模板結構上使用,但是props是唯讀的,若直接改變props中的值,會丟擲警告,如果要對值進行操作,可轉存到data中的值。data:this.propsdata

陣列形式的props不能設定預設值,若要設定預設值則將props定義成物件的形式,設定預設值default:,設定型別 type:,設定為必填項 required .

給乙個元件中的所有dom新增了乙個獨一無二的動態屬性,給css選擇器額外新增乙個對應的屬性選擇器,來選擇元件中的dom,這種做法使得樣式只作用於含有該屬性的dom元素(元件內部的dom)。

如果要防止元件樣式汙染需要加乙個scoped屬性,如果要使用樣式穿透則需要使用/deep/ 。

Vue 2 計算屬性 偵聽器 過濾器 樣式繫結

不能用 保持疑問,lambda不加this,mes2無定義 加this,undefined computed caption 不能lambda嘛?與方法比較 el div1 data methods computed 計算屬性 與資料依賴繫結,只有資料變時才重新計算 有快取 函式 事件發生時就呼叫 ...

Vue自定義指令,計算屬性,偵聽器,過濾器

1 自定義指令 區域性註冊 directives 例子 用自定義指令改變輸入框的背景顏色 全域性註冊 color 自定義指令名 inserted就是鉤子函式,el代表被繫結的元素,binding是個物件 binding.value是所繫結的值,也就是說如果不打算傳值就不許用這個引數,比如讓輸入框聚焦...

Vue計算屬性和偵聽器

模板內的表示式非常便利,但是在模板中放入太多的邏輯會讓模板過重切難以維護。對於任何複雜邏輯都應該使用計算屬性。var vm new vue computed 這裡宣告乙個計算屬性reversemsg。我們提供的函式將作用屬性vm.reversemsg的getter函式。我們可以在表示式中呼叫方法來達...