代码之家  ›  专栏  ›  技术社区  ›  ekjcfn3902039

缺少默认范围的槽

  •  2
  • ekjcfn3902039  · 技术社区  · 6 年前

    我正在查看Vues页面上的教程以添加工具提示。 https://vuetifyjs.com/en/components/tooltips

    对于单个按钮来说,它似乎工作正常。

    但是,它在V项中不起作用。我收到一个控制台消息说

    '[vuetify]v-item缺少默认scopedslot'

    <v-item v-for="foo in bars" :key=`${foo}`>
      <v-tooltip>
        <v-btn slot="activator">
          <v-icon>some-icon</v-icon>
        </v-btn>
        <span>Some tooltip text</span>
      </v-tooltip>
    </v-item>
    

    我试过在上面的代码中添加一些东西,比如slot=“activator”到v-item,slot scope=“activator”到v-btn,但似乎没有什么能很好地工作。关于我做错了什么有什么建议吗?

    @boussadjrabrahim添加的运行代码段:

    new Vue({
      el: '#app',
      data() {
        return {
          bars: ['a', 'b', 'c']
        }
      }
    
    })
    <script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.css">
    <div id="app">
      <v-item-group>
        <v-container grid-list-md>
          <v-layout wrap>
            <v-flex v-for="(n,i) in bars" :key="n" xs12 md4>
              <v-item>
                <v-tooltip>
                  <v-btn slot="activator">
                    <v-icon>home</v-icon>
                  </v-btn>
                  <span>Some tooltip text {{n}}</span>
                </v-tooltip>
              </v-item>
            </v-flex>
          </v-layout>
        </v-container>
      </v-item-group>
    
    </div>
    1 回复  |  直到 6 年前
        1
  •  1
  •   Boussadjra Brahim    6 年前

    调试完代码段后,我通过添加 slot-scope="i" tooltip 类组件 <v-tooltip slot-scope="i" right> :

    new Vue({
      el: '#app',
      data() {
        return {
          bars: ['home', 'event', 'info']
        }
      }
    
    })
    <script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons">
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/vuetify@1.4.0/dist/vuetify.min.css">
    <div id="app" data-app>
      <v-item-group >
        <v-container grid-list-md>
          <v-layout wrap>
            <v-flex v-for="(n,i) in bars" :key="n" xs12 md4>
              <v-item     >
                <v-tooltip   slot-scope="i" right>
                  <v-btn slot="activator">
                    <v-icon>{{n}}</v-icon>
                  </v-btn>
                  <span>{{n}}</span>
                </v-tooltip>
              </v-item>
            </v-flex>
          </v-layout>
        </v-container>
      </v-item-group>
    
    </div>