9

我需要显示item.title外部<v-carousel>但我收到此错误消息:

[Vue 警告]:属性或方法“item”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保该属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅:https ://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties 。

我检查了 Stackoverflow 搜索的结果,但我真的很难理解它。如果有人能通过这个例子向我解释,我将不胜感激。这是我的代码:

<v-carousel>
<v-carousel-item v-for="(item,i) in items" v-bind:src="item.src" :key="i">
</v-carousel-item>
</v-carousel>

<h1>TITLE: {{ item.title }}</h1>

<script>
  export default {
    data () {
      return {
        items: [
          {
            src: '/static/a.jpg',
            title: 'A',
            text: 'texta'
          },
          {
            src: '/static/b.jpg',
            title: 'B',
            text: 'textb'
          }
          {
      }
    }
  }
</script>

这是我需要存档的:

一旦图像更改为下一个图像 -之外的文本范围也应该改变。我试图检查范围外的项目数组的值,但它不起作用: <h1 v-if="(item,i) === 1">Lion</h1> <h1 v-if="(item,i) === 2">Ape</h1> 如何访问范围外当前轮播项目的值?

4

1 回答 1

9

您需要添加组件v-modelv-carousel

<v-carousel v-model="carousel">
    <v-carousel-item 
        v-for="(item,i) in items"
        v-bind:src="item.src"          
        :key="i"
    ></v-carousel-item>
</v-carousel>
//then set title like this:
<h1>TITLE: {{ items[carousel].title }}</h1>

并将carousel变量添加到data

data () {
  return {
    carousel: 0, //like this
    items: [
       ...
于 2018-01-14T14:00:59.487 回答