"属性或方法未在实例上定义,但在呈现期间引用"

Tom*_*Tom 6 vuejs2 vuetify.js vue-reactivity

我需要显示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>
Run Code Online (Sandbox Code Playgroud)

这就是我需要存档的内容:

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

Tra*_*axo 8

您需要添加v-model的v-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>
Run Code Online (Sandbox Code Playgroud)

并添加carousel变量data

data () {
  return {
    carousel: 0, //like this
    items: [
       ...
Run Code Online (Sandbox Code Playgroud)