サイトアイコン 上尾市のWEBプログラマーによるブログ

「これからはじめるVue.js実践入門」の感想・備忘録1


書籍「Nuxt.jsビギナーズガイド」のまとめ。

点数

88点

感想

細かくわかりやすく説明されていて、とてもよく理解することができた。

基本

メソッドと算出プロパティの違い

  1. 算出プロパティは引数を持つことができない 。
    引数が必要な場合はメソッドとする。
  2. 算出プロパティはキャッシュされる。

まず算出プロパティとすることを基本とし、値を常に更新する必要がある場合だけメソッドとする。

オブジェクトのプロパティの追加・削除はリアクティブではない

$nextTickメソッド

<div id="app">
  {{ obj.id }}:{{ obj.name }}
</div>
<script>
const app = new Vue({
  el: '#app',
  data: {
    obj: {
      id: '100',
    }
  },
  mounted: function() {
    Vue.set(this.obj, 'name', 'hoge');
    console.log(this.$el.textContent); // 100:
    Vue.nextTick().then(() => {
      console.log(this.$el.textContent); // 100:hoge
    });
  }
})
</script>

ウォッチャーを使ったオートコンプリートのサンプル

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<div id="app">
  <input type="text" v-model="memo">
</div>
<script>
const app = new Vue({
  el: '#app',
  data: {
    memo: '',
  },
  mounted: function() {
    this.getOptions = _.debounce(function() {
      console.log('データ取得処理');
    }, 2000);
  },
  watch: {
    memo: function(newValue, oldValue) {
      this.getOptions();
    }
  }
})
</script>

ウォッチャーでのオブジェクトの監視

$mountメソッド

<script>
const app = newVue({ data: { name: 'hoge' } });
// ここにマウント要素生成処理が入る
app.$mount('#app');
</script>
モバイルバージョンを終了