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は「必要なときのみ再計算するよ」という機能になっている。
こちらのブログがわかりやすかったです。


この記事が気に入ったらサポートをしてみませんか?