首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复表行中的vuejs - <slot>

重复表行中的vuejs - <slot>
EN

Stack Overflow用户
提问于 2016-08-16 08:56:06
回答 2查看 2K关注 0票数 9

我使用这个解决方案动态地在vuejs组件中设置表单元格:

http://forum.vuejs.org/topic/526/repeating-table-row-with-slot

这仅适用于Vue.js v1.0.10,但不适用于当前版本v1.0.26。

Jsfiddle:https://jsfiddle.net/peL8fuz3/

我正在尝试获取以下标记( item对象应该在组件中可用)

代码语言:javascript
复制
<div id="vue">
    <basic-table>
        <table-cell>{{ item.id }}</table-cell>
        <table-cell>{{ item.title }}</table-cell>
    </basic-table>
</div>

Vue.js组件(更多在小提琴上)

代码语言:javascript
复制
Vue.component('basic-table', {
    template: '<table><tbody><tr v-for="item in collection" v-slot></tr></tbody></table>',
    data: function () {
        return {
            collection: [
                {id: 1, title: 'Vue'},
                {id: 2, title: 'Vue 2'},
                {id: 3, title: 'Vue 3'},
                {id: 4, title: 'Vue 4'},
            ]
        }
    }
});

有人知道怎么解决这个问题吗?

编辑还没有找到一个可行的解决方案--还在搜索。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-19 23:11:57

这很难找出到底出了什么问题,但是从1.0.18版本开始,代码就坏了。我无法深入挖掘以消除确切的提交,但是进行了几次优化,这些优化可能会影响$context._content呈现。

解决方案

但是,您可以通过更改

代码语言:javascript
复制
var raw = host.$options._content; 

代码语言:javascript
复制
var raw = host._context._directives.filter(function (value) {
    return !(value.Component === undefined);
})[0].el;

该更改与v1.0.26兼容。您可以找到固定代码这里

免责声明

我未能找到使用公共API实现相同结果的方法。因此,该解决方案也依赖于非公共API,因此可能会在今后的发布中中断。

票数 3
EN

Stack Overflow用户

发布于 2016-08-18 10:31:46

亚伦,我的回答可能对你的问题不满意,但你为什么不把它简化成下面的代码,但你必须使用指令和所有这些东西?

我仍然在弄清楚为什么您的解决方案正在使用以前的版本,而不是当前的版本。:D

代码语言:javascript
复制
new Vue({
  el: '#vue',
  data: {
    items: [{
      id: 1,
      title: 'Vue'
    }, {
      id: 2,
      title: 'Vue 2'
    }, {
      id: 3,
      title: 'Vue 3'
    }, {
      id: 4,
      title: 'Vue 4'
    }, ]
  }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script>
<table border="1" class="table" id="vue">
  <tbody>
    <tr v-for="item in items">
      <td>{{item.id}}</td>
      <td>{{item.title}}</td>
    </tr>
  </tbody>
</table>

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

https://stackoverflow.com/questions/38970548

复制
相关文章

相似问题

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