title: Changing styles with delay
body: <p>I want to switch the styles of the div with some delay after the button click.</p>
  
  <p>The code will work fine if I simply will use something like <code>this.customEffect = 'blueborder';</code> without timeouts.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>new Vue({
    el: '#app',
    data: {
      customEffect: ''
    },
    methods: {
      start: function() {
        setTimeout(function() {
          this.customEffect = 'blueborder';
        }, 1000);
        setTimeout(function() {
          this.customEffect = 'redtext';
        }, 2000);
      }
    }
  });</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.blueborder {
    border: 3px solid blue;
  }
  
  .redtext {
    color: red;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://npmcdn.com/vue/dist/vue.js"&gt;&lt;/script&gt;
  &lt;div id="app"&gt;
    &lt;div&gt;
      &lt;button @click="start"&gt;Start&lt;/button&gt;
      &lt;div :class="customEffect"&gt;Some text&lt;/div&gt;
    &lt;/div&gt;
   &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>