Vue.js块重复表行在IE中不起作用

时间:2015-07-29 06:53:59

标签: javascript html-table vue.js internet-explorer-11

我想重复使用带有vue.js的模板标记添加表行,但它在IE11中不起作用。这是代码。

<table border="1">
  <tr>
    <td rowspan="2">ID</td>
    <td colspan="2">Name</td>
  </tr>
  <tr>
    <td>Height</td>
    <td>Weight</td>
  </tr>
<template v-repeat="items">
  <tr>
    <td rowspan="2">{{id}}</td>
    <td colspan="2">{{name}}</td>
  </tr>
  <tr>
    <td>{{height}}</td>
    <td>{{weight}}</td>
  </tr>
</template>
</table>

任何帮助?

3 个答案:

答案 0 :(得分:2)

请参阅http://vuejs.org/guide/components.html#Using_Components以及该部分末尾的警告:

  

table元素限制了哪些元素可以出现在里面   它,所以自定义元素将被提升并且无法正确呈现。在   那些情况下你可以使用组件指令语法:

     

<tr v-component="my-component"></tr>

答案 1 :(得分:0)

我找到了一个将<template>标记更改为<tbody>标记的解决方案。但是表格中会有多个<tbody>标签,我希望这是这种情况下的最佳解决方案。

答案 2 :(得分:0)

简而言之,这是IE中的HTML限制,如果您想要兼容性,则必须更改HTML结构。

我在这里发现了类似问题的问题:https://github.com/vuejs/vue/issues/2404

  

Vue在编译模板之前将模板渲染为真实的html,因此无论您如何定义Vue模板,相同的html限制都适用。

     

IE不支持像..,

这样的内部元素