R. *_*son 5 javascript vue.js vue-component vuejs2
我看到Vue组件和内联模板之间有奇怪的行为。
示例#1:内联模板
这正在按预期方式工作。vue组件按下面的示例#2不变,唯一的区别是我已将模板内容作为内联模板复制到了标签中。
参见:https : //jsfiddle.net/pobffmnv/
<div class="panel panel-primary">
<div class="panel-heading">Current Clients</div>
<table class="table table-hover">
<thead>
<tr>
<th>Client Name</th>
<th style="text-align: center;">No. Projects</th>
<th style="text-align: center;">Time (7 days)</th>
<th style="text-align: center;">Edit</th>
</tr>
</thead>
<tbody>
<clientlistitem inline-template>
<tr>
<td>Test</td>
<td style="text-align: center;">0</td>
<td style="text-align: center;">0</td>
<td style="text-align: center;">
<div class="btn-group btn-group-xs" role="group">
<button type="button" class="btn small btn-primary">Edit</button>
</div>
</td>
</tr>
</clientlistitem>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
范例2:非内联
以下是我的Vue模板。下面是更改代码以删除嵌入式模板。
参见:https : //jsfiddle.net/Ld47hoy2/
<template>
<tr>
<td>Test</td>
<td style="text-align: center;">0</td>
<td style="text-align: center;">0</td>
<td style="text-align: center;">
<div class="btn-group btn-group-xs" role="group">
<button type="button" class="btn small btn-primary">
Edit
</button>
</div>
</td>
</tr>
</template>
<script>
export default {
}
</script>
Run Code Online (Sandbox Code Playgroud)
更新的页面代码:
<div class="panel panel-primary">
<div class="panel-heading">Current Clients</div>
<table class="table table-hover">
<thead>
<tr>
<th>Client Name</th>
<th style="text-align: center;">No. Projects</th>
<th style="text-align: center;">Time (7 days)</th>
<th style="text-align: center;">Edit</th>
</tr>
</thead>
<tbody>
<clientlistitem></clientlistitem>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
查看页面输出的源代码,似乎已将呈现的代码放在我的表之前...?我希望这是在<tbody></tbody>标签之间。
Vue将代码输出到该位置而不是预期位置的任何原因是什么?
这里的问题是,在DOM模板中,模板首先由浏览器呈现,而HTML表仅允许其中包含某些种类的元素。在这种情况下,clientlistitem首先将组件呈现在表外,然后Vue编译模板,从而导致组件放置在错误的位置。
要解决此问题,请使用isspecial属性。
<tbody>
<tr is="clientlistitem"></tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
浏览器将接受它并tr在正确的位置呈现,但是Vue会将其解释为您的组件。
这是您的小提琴更新。
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |