vue 구성 요소와 인라인 템플릿간에 이상한 동작이 나타납니다.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>
예제 # 2 : 마이 뷰 템플릿입니다 다음
를 인라인하지 않습니다. 다음은 인라인 템플릿을 제거하기위한 코드 변경입니다.
참조 : 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>
업데이트 페이지 코드 :
<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>
출력의 소스 코드를 보면 페이지의 렌더링 된 코드를 내 테이블에 넣은 것 같습니다 ...? 나는
어떤 이유 뷰가 출력 해당 위치 대신 하나의 코드가 예상 것입니다 .. 이것은 <tbody></tbody>
태그 사이가 될 것으로 예상하고있다?
굉장합니다. 그렇다면 DOM의 어느 위치에도 관계없이 "is"를 사용하는 것이 더 안전하다는 말입니까? – Kannaiyan
@Kannaiyan 아니요,'is'를 사용하는 것은 테이블과 같은 매우 특별한 경우에만 필요합니다. 가장 안전한 방법은 문자열 템플릿 또는 단일 파일 구성 요소를 사용하는 것입니다. 대답의 첫 번째 링크를 살펴보십시오. – Bert
놀라운! 정말 고마워요. 이것은 매력을 발휘했습니다. –