專案怎麼用的高階特性, 解決了什麼問題?
高階特性:
父元件中
子元件中:
type
="text"
:value
="val"
@input
="$emit('change',$event.target.value)"
/>
export default
props:
},}
vue是非同步渲染, data改變dom不會立刻渲染, 如果需要立刻使用的話需要使用$nexttick
此處可以擴充套件到v-if和v-show的使用情況, 比如根據引數loading判斷要顯示loading元件還是業務元件, 在某函式中更新了loading=false, 此刻若想立刻拿到業務元件中的元素, 就必須配合nexttickvue3 中的使用方法改變了
子元件
>
class
="hello"
>
>
子元件h1
>
>
↓↓↓以下是預設插槽內容↓↓↓h1
>
:scope
="***en1"
>
slot
>
>
↑↑↑以上是插槽內容↑↑↑h1
>
/>
>
}div
>
>
↓↓↓以下是具名插槽 ***的內容↓↓↓h1
>
name
="***"
:scope
="***en2"
>
slot
>
>
↑↑↑以上是具名插槽 ***的內容↑↑↑h1
>
div>
template
>
>
import
from
'vue'
;export
default);
return;}
, name:
'ageand***'};
script
>
scoped
>
.hello
.pointer
style
>
父元件
>
class
="about"
>
>
v-slot
="obj"
>
class
="slot"
>
父元件使用插槽反顯***en1:}為}div
>
template
>
v-slot:***
="obj"
>
class
="slot"
>
父元件使用插槽反顯***en2:}為}div
>
template
>
ageand***
>
div>
template
>
>
// eslint-disable-next-line no-unused-vars
import
from
'vue'
;import ageand*** from
'@/components/ageand***'
;export
default};
return;}
, filters:
, components:};
script
>
scoped
>
.slot
style
>
效果圖:
動態元件
元件型別不確定:is="component-name"
非同步元件
類似tob的專案中, 元件有可能很大, 會需要非同步載入子元件
>
//import com from './mycom' 這樣引入是同步引入
//使用import函式實現非同步載入, 用到的時候才會去載入
export
default
}script
>
元件tab切換時, 每次切換都是先銷毀上乙個元件再渲染另乙個元件
>
>
com1
>
>
com2
>
>
com3
>
>
就不會先銷毀再渲染, 或者用v-show控制渲染
react中只能通過手動控制display:none了
import mymixin from
'./mixin'
export
default
在mixin.js中, 是和上面的js格式一樣的乙個js檔案mixin的問題多mixin可能會造成命名衝突可以新增多個, 會自動合併起來
將公用邏輯放在這個js中, 從而進行混合
mixin和元件可能會出現多對多的關係, 複雜度較高, **難以維護
從5個維度來講vue3變化
vue3 新寫法
Python高階特性
l csx sarah tracy bob jack print l 0 l 1 l 2 輸出 csx sarah tracy l 0 3 輸出 csx sarah tracy 如果第乙個索引是0,還可以省略 print l 2 輸出 bob jack print l 2 1 輸出 bob d fo...
高階OOP特性
注意 高階oop特性只在php5及以上版本支援 抽象類 命名空間需要5.3及以上 在php5中,將所有對物件都看作引用,而不是值。那麼如何建立物件的副本呢?答案就是轉殖物件。語法 destinationobject clone targetobject 可以在乙個類裡面定義乙個 clone 方法來調...
Python高階特性
python 高階特性 from collections import iterable from collections import iterator 切片 list切片 l list range 100 print l 0 3 取前3個元素 print l 3 取前3個元素 print l 4...