常用於文字格式化,可以用在插值表示式和v-bind屬性繫結,使用管道符(|)呼叫,過濾器本質上是乙個函式,在與method同級定義,fliters:{},且過在vue3.0過濾器已移除,顯示的值是過濾器的返回值(必須有),在過濾器的第乙個形參就可以獲取到管道前待處理的值。
全域性過濾器:
vue.filter("name",function(str))
全域性與私有過濾器衝突按照就近原則,呼叫私有過濾器。
過濾器可以多個呼叫,前面的過濾器返回值是另乙個的引數。
在呼叫過濾器時可以傳參。
監視某些資料的變化,並做相應的操作
要監聽那個資料就將那個資料定義為方法名,形參中第乙個為就值,第二個引數為新的值。
定義在watch:{}結點上,只要監聽的值發生變化就會呼叫***。
函式形式的偵聽器:不會在重新整理頁面時自動觸發。
偵聽的是乙個物件時,物件屬性變化不觸發。
物件形式的偵聽器:可以通過immediate選項,讓偵聽器進入觸發。
在物件中有個handler屬性中形參拿到舊值與新值。如immediate屬性為true,進入則回觸發。開啟深度偵聽,deep:true;只要物件中任何乙個屬性變化就會觸發。
如果只想偵聽物件中某個值的變化,可以使用『object.val』():{},
專注於資料請求的庫呼叫axios的返回值為乙個promise物件
axios(,如果呼叫某個方法的返回值為promise例項,可以加await//請求體
data:{}
})
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函式。我們可以在表示式中呼叫方法來達...