javascript - 在vuejs中使用v-for循环?

标签 javascript vue.js vuejs2

我正在尝试使用v-for来循环包含标题和图标的数据。现在我只能通过循环获得一个图标,我的问题是如何在循环时获得多个图标?

我做了一个codepen:https://codepen.io/anon/pen/MMaGOZ?&editable=true&editors=101 。所以基本上在这个例子中我怎样才能获得多个图标。因此,如果我还想要仪表板旁边有一个搜索图标。

  <div id="app">
 <v-app id="inspire">
   <v-navigation-drawer
    class="blue lighten-3"
    dark
    permanent
   >
     <v-list>
       <v-list-tile
        v-for="item in items"
        :key="item.title"
        @click=""
       >
      <v-list-tile-action>
        <v-icon>{{ item.icon }}</v-icon>
      </v-list-tile-action>

      <v-list-tile-content>
        <v-list-tile-title>{{ item.title }}</v-list-tile-title>
      </v-list-tile-content>
    </v-list-tile>
  </v-list>
</v-navigation-drawer>

 new Vue({
  el: '#app',
  data () {
   return {
    items: [
      { title: 'Dashboard', icon: 'dashboard','search' },
      { title: 'Account', icon: 'account_box' },
     { title: 'Admin', icon: 'gavel' }
    ]
   }
 }
 })

如果我这样做icon: 'dashboard', 'search' => 这会给我一条错误消息。不知道如何才能得到这个?

提前致谢。

最佳答案

正如评论中提到的,{ icon: 'dashboard', 'search' } 无效,您需要使用数组(或类似的列表/集合),例如

items: [
  { title: 'Dashboard', icon: ['dashboard','search'] },
  { title: 'Account', icon: ['account_box'] },
  { title: 'Admin', icon: ['gavel'] }
]

请注意,我已将所有 icon 属性放入数组中,即使它们只有一个图标。这是为了使一切保持一致且易于使用。

然后在您的模板中,您可以迭代另一个 v-for 中的图标

<v-list-tile-action>
  <v-icon v-for="icon in item.icon" :key="icon">{{ icon }}</v-icon>
</v-list-tile-action>

关于javascript - 在vuejs中使用v-for循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56591628/

相关文章:

javascript - 如何在 JQuery 中编辑 'clip' CSS 属性?

javascript - 数据集观察者

vue.js - 每次路线更改时重复键 Vuex Getters

javascript - Vue - 导航到下一个子路线

javascript - 如何在 Slickgrid 单元格中输入文本

javascript - 谷歌地图 : Multiple InfoWindows always show last value

jquery - 使用 Rest Api 的 Vue.js 持久远程存储

vue.js - nuxtJS 与 Axios 和 VueX 的简单使用

javascript - 在 Vue.js/Vue-select 的选项属性中检索数据变量

vue.js - 如何在调用完成之前停止渲染我的 vue 组件