當想在 bind 和 update 中觸發相同行為,而不關心其他鉤子時,可以寫成函式的形式:
vue.
directive
('myshow'
,(el, binding)
=>
= binding;
const display = value ?'':
'none'
; el.style.display = display;
})
vue.
directive
('slice'
,(el, binding, vnode)
=>
= binding;
if(modifiers.number)
el.value = value.
slice(0
, arg)
; vm[expression]
= value.
slice(0
, arg)
; el.
oninput
=function
(e) el.value = inputval.
slice(0
, arg)
; vm[expression]
= inputval.
slice(0
, arg);}
})
如果自定義指令需要多個值,可以傳入乙個 js 物件字面量。指令函式能夠接受所有合法的 js 表示式。
v-demo=""
>
div>
vue.
directive
('demo'
,function
(el, binding)
)
自定義過濾器,用於一些常見的文字格式化。
過濾器可用在兩個地方:雙花括號插值 和 v-bind 表示式,新增在js表示式的尾部,由「管道」符號表示:
}v-bind:id
="id | filter"
>
div>
全域性過濾器:
vue.
filter
('filter'
, value =>
)
區域性過濾器:
filter()
當過濾器形式為msg | filter
時,filter過濾器接收乙個引數,引數為msg
。
當過濾器形式為msg | filter('a')
時,filter過濾器接收兩個引數,引數為msg, 'a'
}
在這個例子中,filtera的引數為msg
,filterb的引數為filtera。 5 3 字面量 工廠模式 和建構函式建立物件
一 物件字面量建立 物件字面量建立 var obj age 3,fn function obj.fn mrs陳今年3歲了 console.log obj age 3 新增屬性 obj.男 改寫屬性 obj.name mrs 要建立多個物件,就要乙個乙個寫,很不方便 二 工廠模式建立物件 函式呼叫時建...
js建立物件方法 字面量, 建構函式,工廠模式
字面量的方法 var per1 readbook function 呼叫系統的建構函式 var per2 new object per2.name 大蛇丸 per2.age 30 per2.男 per2.eat function per2.play function console.log per2...
ES6 中物件字面量的增強和物件擴充套件方法
物件字面量的增強 const flag flag const obj console.log obj const obj message console.log obj.message 在物件字面量裡,在物件內部新增表示式,作為物件的屬性名,以達成動態改變物件的屬性名 const age age c...