首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个组件不能访问它的属性数据?

为什么这个组件不能访问它的属性数据?
EN

Stack Overflow用户
提问于 2017-08-22 18:20:52
回答 1查看 225关注 0票数 0

当以下组件为内联组件时,它可以访问rowData,但作为引用的模板,它不能:

HTML:

代码语言:javascript
复制
<div id="app">
    <div>
      <row-component v-for="(row, index) in rows" :row-data="row" v-on:delete-row="deleteThisRow(index)"></row-component>
    </div>
</div>

<script id="theRow" type="x-template">
  row component: {{rowData}}
  <button @click="$emit('delete-row')">Delete3</button>
</script>

JavaScript:

代码语言:javascript
复制
Vue.component('row-component', {
    props: ["rowData"],
    template: '#theRow'
})

new Vue({
    el: '#app',
    data: {
        rows: ["line1", "line2", "line3", "line4", "line5"]
    },
    methods: {
        deleteThisRow: function(index) {
            this.rows.splice(index, 1);
        }
    }
})

如何让组件识别rowData

https://jsfiddle.net/edwardtanguay/k1tx3z1n/

EN

回答 1

Stack Overflow用户

发布于 2017-08-22 18:57:54

组件应该只有one root element

代码语言:javascript
复制
<div id="app">
    <div>
      <row-component v-for="(row, index) in rows" :row-data="row" v-on:delete-row="deleteThisRow(index)"></row-component>
    </div>
</div>

<script id="theRow" type="x-template">
    <div>
          row component: {{rowData}}
          <button @click="$emit('delete-row')">Delete3</button>
  </div>
</script> 

请参阅working fiddle

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

https://stackoverflow.com/questions/45815023

复制
相关文章

相似问题

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