<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Vuejs on ashitaka blog</title>
    <link>https://8fd9c3c3.blog-1xe.pages.dev/tags/vuejs/</link>
    <description>Recent content in Vuejs on ashitaka blog</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sun, 10 May 2020 07:24:04 +0900</lastBuildDate>
    <atom:link href="https://8fd9c3c3.blog-1xe.pages.dev/tags/vuejs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Vue.js チートシート</title>
      <link>https://8fd9c3c3.blog-1xe.pages.dev/2020/05/10/vuejs/</link>
      <pubDate>Sun, 10 May 2020 07:24:04 +0900</pubDate>
      <guid>https://8fd9c3c3.blog-1xe.pages.dev/2020/05/10/vuejs/</guid>
      <description>&lt;p&gt;vuejsの気になったところ&lt;/p&gt;
&lt;h3 id=&#34;watcherの注意点&#34;&gt;watcherの注意点&lt;/h3&gt;
&lt;p&gt;wacherの中では&lt;code&gt;this&lt;/code&gt;を使えない。なるべくcomputedを使う。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;watch: {
    counter() {
        const vm = this;
        setTimeout(() =&amp;gt; {
            vm.counter = 0;
        }, 3000);
    },
},
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;v-onディレクティブでの注意点&#34;&gt;v-onディレクティブでの注意点&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;!-- method event handler。vue側がいい感じに解釈 --&amp;gt;
&amp;lt;button @click=&amp;#34;countUp&amp;#34;&amp;gt;+1&amp;lt;/button&amp;gt;
&amp;lt;!-- javascript式 --&amp;gt;
&amp;lt;button @click=&amp;#34;countUp()&amp;#34;&amp;gt;+1&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;v-showの特徴&#34;&gt;v-showの特徴&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;display: noneのcssがかかる&lt;/li&gt;
&lt;li&gt;全てdomに追加されるため初期描画が遅い&lt;/li&gt;
&lt;li&gt;要素を削除せずにcssをかけるだけなので描画の切り替えが早い&lt;/li&gt;
&lt;li&gt;elseがない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v-forの特徴&#34;&gt;v-forの特徴&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;要素の変更が最小限になるようになるべく再利用する&lt;/li&gt;
&lt;li&gt;予期しないバグを生む可能性があるので, key属性をつける&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;仮想ノード&#34;&gt;仮想ノード&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;createElemet&lt;/code&gt;で作られているのは仮想DOMを作るための仮想ノードである。いわゆるDocument Object Modelではなくjavascriptのオブジェクトである。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;new Vue({
        data: {
          name: &amp;#34;tak&amp;#34;,
        },
        render(createElement) {
          return createElement(&amp;#34;h1&amp;#34;, &amp;#34;hello, &amp;#34; + this.name)
        }
      }).$mount(&amp;#34;#app3&amp;#34;);
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;仮想dom&#34;&gt;仮想DOM&lt;/h3&gt;
&lt;p&gt;DOMの変更を高速に反映するための仕組み。DOMを直接変更するには時間がかかるので, 仮想DOMを変更し前の仮想DOMとの差分を反映して高速に描画する。&lt;/p&gt;
&lt;h3 id=&#34;babel&#34;&gt;Babel&lt;/h3&gt;
&lt;p&gt;JavaScriptのコードを新しい書き方から古い書き方へと変換するツール&lt;/p&gt;
&lt;h3 id=&#34;webpack&#34;&gt;Webpack&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;webpackは、モジュールを束ねるツールです。 モジュールとは、プログラム内のJavaScriptファイル（以下：jsファイル）やsassファイルなどのことです。webpackを使うことで、複数のjsファイルをひとつのjsファイルにまとめたり、複数のsassファイルをひとつのsassファイルにしたりできます。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
