vueが定義するプライベートフィルタと基本的な使い方
2022-01-13 17:20:58
プライベートフィルタとグローバルフィルタのメソッドとコンセプトは同じですが、一方はグローバルに呼び出すことができ、プライベートフィルタは自分自身でのみ呼び出すことができます。
グローバルフィルターはこちら
グローバルフィルター
使い方もグローバルフィルターと同じですが、定義される場所が異なります。
グローバルフィルターは
script
の中で
Vue.filter
を定義します。
プライベートフィルター定義メソッド。
<script>
let vm = new Vue({
el:'#app',
data:{
},
filters: { // filters that are private to the current instance
}
})
</script>
で
vm
の実カラムと同じものがあります。
data
と同じレベルで
filters
は、現在のインスタンスのプライベートフィルタを定義するために使われます。
<div id="app">
<p>{{mes | addStr}}</p>
</div>
<script src=". /js/vue.js"></script>
<script>
let vm = new Vue({
el:'#app',
data:{
mes:"I'm a pessimist, pessimists do pessimistic things"
},
filters: { // filters that are private to the current instance
addStr(data,str="happy"){
return data.replace(/pessimistic/g,str)
}
}
})
</script>
出力されます。
ページ内に2つ目のインスタンスがある場合、そのインスタンスには
vm2
を呼び出して
vm
を呼び出すことはありません。
ページ上にグローバルフィルターとプライベートフィルターがある場合、両方を同時に呼び出すことができる
<div id="app">
<p>{{mes | setStr | addStr}}</p>
</div>
<script src=". /js/vue.js"></script>
<script>
Vue.filter('setStr',function(data){
return data+'I am a global filter'
})
let vm = new Vue({
el:'#app',
data:{
mes:"I'm a pessimist, pessimists do pessimistic things"
},
filters: { // filters that are private to the current instance
addStr(data,str="happy"){
return data.replace(/pessimistic/g,str)
}
}
})
</script>
出力結果です。
要約すると
呼び出すときは、前がグローバル、後ろがプライベートと呼びます
が、出力はまずプライベートフィルターで処理されます
つまり、グローバルフィルターとプライベートフィルターの両方が呼ばれた場合、近い方を先に出力するのが鉄則なのです。
グローバルでプライベートが先
vueのプライベートフィルタの定義と基本的な使い方についての記事は以上です。vueのプライベートフィルタの定義については、Script Houseの過去の記事を検索していただくか、以下の記事を引き続きご覧ください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン