Выходными данными для PHP является строка, поэтому вы можете установить ее как '' + 'hello' + '', но для платформы JS они использовали HTMLElement, поэтому вы не можете сделать то же самое здесь.Я думаю, что вам нужно привыкнуть к использованию компонента, а также PHP.Пример:
<?php
class View() {
public $header; public $footer; public $content;
}
$view = new View(); $view->header = 'Hello';...
?>
<html>
<body>
<header>
<?php echo $view->header?>
</header>
<div id="root">
<?php echo $view->content?>
</div>
<footer>
<?php echo $view->footer?>
</footer>
</body>
</html>
Для указанного выше источника заголовок, нижний колонтитул, содержимое означают один компонент, а содержимое обычно имеет много дочерних компонентов.
Итак, разделение тегов никогда не является хорошим решением, включая шаблон PHP.
<template>
<div>
<template v-if="isFieldsetElement">
<fieldset>
<legend>Label Here</legend>
<span> Description </span>
<img src="image.png" />
<div>more stuff here </div>
</fieldset>
</template>
<template v-else>
<label>Label Here</label>
<span> Description </span>
<img src="image.png" />
<div>more stuff here </div>
</template>
</div>
</template>
или другой способ, аналогичный тому, который вы сделали в php:
var app = new Vue({data:{html:'<div>Hello</div>'}});
<template v-html="html"></template>