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

无法获取数组的索引

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

    <tr v-for="(item,index) in timetable">
        Index: @{{index}}
    
        <td>@{{ item.subject }}</td>
        <div v-if="index == timetable.length - 1">
            <td>@{{ item.lesson_end }}</td>
        </div>
        <div v-else>
            <td>@{{ item.lesson_start }}</td>
        </div>
    </tr>
    

    [Vue warn]:属性或方法“index”未在实例上定义,但在呈现期间引用。通过初始化属性,确保此属性是被动的,无论是在数据选项中,还是对于基于类的组件。

    为什么它声称索引没有定义,根据文档这应该是有效的?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Phil    6 年前

    问题完全是由于无效的HTML结构造成的。Vue的 render

    试试这样的

    <tr v-for="(item,index) in timetable">
      <td>Index: @{{ index }}</td>
      <td>@{{ item.subject }}</td>
      <td v-if="index == timetable.length - 1">@{{ item.lesson_end }}</td>
      <td v-else>@{{ item.lesson_start }}</td>
    </tr>
    

    http://jsfiddle.net/Lrvdjxpq/