VueJs 2从json获取数据以进行导航

时间:2017-05-25 07:09:27

标签: vuejs2

我已将以下json提取到导航循环中。 这有效,但是当我将{{item.navitems.navitem.name}}粘贴到=""我收到了这个错误。

我如何实现这项工作?

错误:

enter image description here

循环:

<ul class="nav navbar-nav">
    <li v-for="item in items">
        <router-link to="" tag="li" active-class="active"><a>{{item.navitems.navitem.name}}</a></router-link>
    </li>
</ul>

JSON:

[
  {
    "navitems": {
      "navitem": {
        "name": "Home",
        "url": ""
      }
    }
  },
  {
    "navitems": {
      "navitem": {
        "name": "About",
        "url": "/about"
      }
    }
  }
]

1 个答案:

答案 0 :(得分:1)

您似乎需要进行空检查,如下所示:

<ul class="nav navbar-nav">
    <li v-for="item in items">
        <router-link v-if="item.navitems && item.navitems.navitem" :to="item.navitems.navitem.name" tag="li" active-class="active">
             <a>{{item.navitems.navitem.name}}</a>
        </router-link>
    </li>
</ul>

修改:作为标准建议,使其更简洁:

<ul class="nav navbar-nav">
    <router-link v-for="item in items" v-if="item.navitems && item.navitems.navitem" :to="item.navitems.navitem.url" tag="li" active-class="active" exact>
        <a>{{item.navitems.navitem.name}}</a>
    </router-link> 
</ul>