首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue.js内联模板不显示数据

Vue.js内联模板不显示数据
EN

Stack Overflow用户
提问于 2017-12-14 22:12:23
回答 1查看 1.7K关注 0票数 0

我试图在Vue.js中使用内联模板,但我无法让它显示数据,以下是我的代码:

代码语言:javascript
复制
Vue.component('food-item', {

    props: ['food'],


})


var app7 = new Vue({
    el: '#app-7',
    data: {
        foodList: [
            { id: 0, text: 'Vegetables' },
            { id: 1, text: 'Cheese' },
            { id: 2, text: 'Whatever else humans are supposed to eat' }
        ]
    }
})

HTML代码:

代码语言:javascript
复制
<div id="app-7">
<ol>
    <food-item v-for="item in foodList" v-bind:food="item" v-bind:key="item.address">
    </food-item>
</ol>

<!-- template -->
<food-item inline-template>
    <li>{{ food.text }}</li>
</food-item>
</div>

我得到以下错误:

代码语言:javascript
复制
TypeError: Cannot read property 'text' of undefined
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 22:23:57

您将其视为指定独立于组件的模板的一种方式。这不是inline-template的工作方式。inline-template属性和模板规范放在您实例化组件的标记中。

代码语言:javascript
复制
Vue.component('food-item', {
  props: ['food'],
})


var app7 = new Vue({
  el: '#app-7',
  data: {
    foodList: [{
        id: 0,
        text: 'Vegetables'
      },
      {
        id: 1,
        text: 'Cheese'
      },
      {
        id: 2,
        text: 'Whatever else humans are supposed to eat'
      }
    ]
  }
})
代码语言:javascript
复制
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>

<div id="app-7">
  <ol>
    <food-item v-for="item in foodList" v-bind:food="item" v-bind:key="item.address" inline-template>
      <li>{{ food.text }}</li>
    </food-item>
  </ol>
</div>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47815414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档