Vue.jsの基本②(js展開方法、$watch、computed)
今日は基本のその②を書きたいと思います。
1:js展開方法
{{ }}を用いて、テキストやデータの内容を展開する。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>VueStudy</title>
</head>
<body>
<div id="app">
<p>{{ items[0].name //apple }}</p>
//{{}}内にテキストやデータ表示をさせることができる
</div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
var foodOjt = [{
name: 'apple',
price: 300,
},{
name: 'banana',
price: 200,
}];
var vm = new Vue({
el:'#app',
data:{
items:foodOjt
})
</script>
</body>
</html>
2:watchについて
例えばバリデーション機能をつけたいときに、例えばinput type="text"でしっかり名前が入力されたかどうかをチェック(監視)したいときにつかう。watch に指定するメソッド名は data のプロパティ名に依存する。
var app = new Vue({
el: '#app',
data: {
username: '',
error: {}
},
watch: {
username: function (val) {
if (val === '') {
this.error.username = 'お名前の入力は必須です。'
} else if (!/[a-zA-Z0-9]+/.test(val)) {
this.error.username = '半角英数のみ入力可能です。'
} else {
this.error.username = ''
}
}
}
});
3:computed(算出プロパティ)について
methodsとの決定的な違いとして「キャッシュされるかされないか」という点があげられる。何千・何万のデータをループ処理する場合は、キャッシュされないと表示スピードが遅くなり、使い心地が悪くなってしまうためcomputedを使う方が良い。computedは「必要なときのみ再計算するよ」という機能になっている。
※こちらのブログがわかりやすかったです。
この記事が気に入ったらサポートをしてみませんか?