<h3 dir="auto">Version</h3>
<p dir="auto">2.6.10</p>
<h3 dir="auto">Reproduction link</h3>
<p dir="auto"><a href="https://codesandbox.io/s/vue-template-ptrum?fontsize=14" rel="nofollow">https://codesandbox.io/s/vue-template-ptrum?fontsize=14</a></p>
<h3 dir="auto">Steps to reproduce</h3>
<p dir="auto">When the parent style is scoped the <code class="notranslate">&lt;slot&gt;</code> will lost the style of the first tag if other tags on component has a selector with v-if.</p>
<p dir="auto">Example:</p>
<p dir="auto">Main.vue:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;template&gt;
  &lt;Test&gt;
    &lt;div class=&quot;test&quot;&gt;
      &lt;div class=&quot;test2&quot;&gt;
      &lt;/div&gt;
      &lt;div class=&quot;test2&quot;&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/Test&gt;
&lt;/template&gt;
&lt;script&gt;
import Test from './Test.vue'
export default {
     components: {
        Test
    }
}
&lt;/script&gt;
&lt;style scoped&gt;
.test {
    display: flex;
}

.test2 {
   width: 200px;
   height: 200px;
   background: black;
}
&lt;/style&gt;"><pre class="notranslate"><code class="notranslate">&lt;template&gt;
  &lt;Test&gt;
    &lt;div class="test"&gt;
      &lt;div class="test2"&gt;
      &lt;/div&gt;
      &lt;div class="test2"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/Test&gt;
&lt;/template&gt;
&lt;script&gt;
import Test from './Test.vue'
export default {
     components: {
        Test
    }
}
&lt;/script&gt;
&lt;style scoped&gt;
.test {
    display: flex;
}

.test2 {
   width: 200px;
   height: 200px;
   background: black;
}
&lt;/style&gt;
</code></pre></div>
<p dir="auto">Test.vue</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;template&gt;
  &lt;div&gt;
    &lt;div v-if=&quot;f&quot; class=&quot;_test_style_class_name&quot;&gt;
    &lt;/div&gt;
    &lt;slot v-else&gt;
    &lt;/slot&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
export default {
     data () {
         return {
             f: true
         }     
     },
     mounted () {  this.f = false }
}
&lt;/script&gt;"><pre class="notranslate"><code class="notranslate">&lt;template&gt;
  &lt;div&gt;
    &lt;div v-if="f" class="_test_style_class_name"&gt;
    &lt;/div&gt;
    &lt;slot v-else&gt;
    &lt;/slot&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
export default {
     data () {
         return {
             f: true
         }     
     },
     mounted () {  this.f = false }
}
&lt;/script&gt;
</code></pre></div>
<p dir="auto">Open it on Chrome, and no style set on class <code class="notranslate">test</code> but I have set it on <code class="notranslate">Main.vue</code>.<br>
If I remove <code class="notranslate">class="..."</code> or remove <code class="notranslate">v-if="f"</code> on <code class="notranslate">Test.vue</code> then the class <code class="notranslate">test</code> will set..</p>
<p dir="auto">Is it that I lost something to know in using <code class="notranslate">&lt;slot&gt;</code>?</p>
<p dir="auto">Thanks.</p>
<h3 dir="auto">What is expected?</h3>
<p dir="auto">No lost style.</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">No Style set on the first tag.</p>
<h3 dir="auto">Version</h3>
<p dir="auto">2.6.10</p>
<h3 dir="auto">Reproduction link</h3>
<p dir="auto"><a href="https://jsfiddle.net/anrzf5uh/" rel="nofollow">https://jsfiddle.net/anrzf5uh/</a></p>
<h3 dir="auto">Steps to reproduce</h3>
<p dir="auto">Enter 'obj' in the text input and nothing gets printed to console. Enter <code class="notranslate">str</code> in the text input and <code class="notranslate">uncaught exception: message</code> gets printed to console. But it's wrong in both cases.</p>
<p dir="auto">If you remove <code class="notranslate">async</code> from the watch method and the call to the <code class="notranslate">await</code> method, then it works properly.</p>
<p dir="auto">Enter 'obj' in the text input and <code class="notranslate">Object { error: "message" }</code> gets printed to console. Enter <code class="notranslate">str</code> in the text input and <code class="notranslate">message</code> gets printed to console. It's right in both cases.</p>
<h3 dir="auto">What is expected?</h3>
<p dir="auto">Error handling should work the same in an async watcher as in a sync watcher.</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">Error handling works correctly in a sync watcher but not async watcher.</p>