title: Vuejs nested slots: how to pass slot to grandchild
body: <p>I use different vuetify components, for example <a href="https://vuetifyjs.com/en/components/menus" rel="noreferrer">v-menu</a>. It has a template like this:</p>
  
  <pre><code>&lt;v-menu&gt;
    &lt;a slot="activator"&gt;menu&lt;/a&gt;
    &lt;v-list&gt;
      &lt;v-list-tile&gt;Menu Entry 1&lt;/v-list-tile&gt;
      &lt;v-list-tile&gt;Menu Entry 2&lt;/v-list-tile&gt;
    &lt;/v-list&gt;
  &lt;/v-menu&gt;
  </code></pre>
  
  <p>Suppose I want to add another wrapper around it. That is my special menu component that has some predefined menu options. And I want it to has an activator slot as well. And the last should be somehow assigned to the original v-menu activator slot. Is it possible?</p>
  
  <p>Example:</p>
  
  <pre><code>// index.vue: 
  &lt;template&gt;
    &lt;my-special-menu&gt;
      &lt;button&gt;My special menu trigger&lt;/button&gt;
    &lt;/my-special-menu&gt;
  &lt;/template&gt;
  
  // MySpecialMenu.vue
  &lt;template&gt;
    &lt;v-menu&gt;
      &lt;slot slot="activator"/&gt; &lt;-- I don't know how to write this line
      &lt;v-list&gt;...&lt;/v-list&gt;
    &lt;/v-menu&gt;
  &lt;/template&gt;
  </code></pre>
  
  <p><code>&lt;slot slot="activator"&gt;</code> is an incorrect equation. The goal is to pull the content from the parent (that is <code>&lt;button&gt;..&lt;/button&gt;</code> in the example), and use it as <code>slot="activator"</code> in v-menu.</p>
  
  <p>I can write it like this:</p>
  
  <pre><code>&lt;v-menu&gt;
    &lt;a slot="activator"&gt;&lt;slot/&gt;&lt;/a&gt;
    ...
  &lt;/v-menu&gt;
  </code></pre>
  
  <p>But this case the result template will be:</p>
  
  <pre><code>&lt;div class="v-menu__activator"&gt;
    &lt;a&gt;
      &lt;button&gt;My special menu trigger&lt;/button&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>That's not exactly what I want. Is it possible to get rid off <code>&lt;a&gt;</code> wrapper here?</p>
  
  <p>Update:
  We can use a construction like <code>&lt;template slot="activator"&gt;&lt;slot name="activator"/&gt;&lt;/template&gt;</code> to throw some slot to a grand child. But what if we have multiple slots and we want to proxy them all? That's like inheritAttrs and <code>v-bind="$attrs"</code> for slots. Is it currently possible?</p>
  
  <p>For example, there's <code>&lt;v-autocomplete&gt;</code> component in vuetify that has append, prepend, label, no-data, progress, item, selection etc slots. I write some wrapper component around this, it currently looks like:</p>
  
  <pre><code>&lt;template&gt;
    &lt;v-autocomplete ..&gt;
      &lt;template slot="append"&gt;&lt;slot name="append"/&gt;&lt;/template&gt;
      &lt;template slot="prepend"&gt;&lt;slot name="prepend"/&gt;&lt;/template&gt;
      &lt;template slot="label"&gt;&lt;slot name="label"/&gt;&lt;/template&gt;
      ...
      &lt;template slot="item" slot-scope="props"&gt;&lt;slot name="item" v-bind="props"/&gt;&lt;/template&gt;
    &lt;/v-autocomplete&gt;
  &lt;/template&gt;
  </code></pre>
  
  <p>Is it possible to avoid all slots enumeration here?</p>