vue组件template内标签嵌套问题,求前辈指点

初学vue,在template内标签嵌套这块遇到一个问题求教前辈指点问题出现原因!!!
这块代码内div标签如果改成p标签里面嵌套的2个p标签就不渲染了,网上查了下也没找到具体原因

    <template id="t3">
        <div>{{nameMessage}}
            <p v-bind:class="{style3: style3_flg}">{{ageMessage}}
                <p v-bind:style="style3">{{sexmessage}}</p>
            </p>
        </div>
    </template>

下面是全部的代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>test</title>
    <script src="https://cdn.jsdelivr.net/npm/vue "></script>
    <style>
        .style3 {
            color: hotpink;
        }
    </style>
</head>

<body>
    <div id="app3">
        <child v-bind:name-message='name1' v-bind:age-message='age1' v-bind:sexmessage='sex1'></child>
        <child v-bind:name-message='name2' v-bind:age-message='age2' v-bind:sexmessage='sex2'></child>
        <child v-bind:name-message='name3' v-bind:age-message='age3' v-bind:sexmessage='sex3'></child>
    </div>
    <template id="t3">
        <p>{{nameMessage}}
            <p v-bind:class="{style3: style3_flg}">{{ageMessage}}
                <p v-bind:style="style3">{{sexmessage}}</p>
            </p>
        </p>
    </template>
    <script>
        new Vue({
            el: '#app3',
            data: {
                name1: "张三",
                name2: "李四",
                name3: "王麻子",
                age1: '21',
                age2: '22',
                age3: '23',
                sex1: '女',
                sex2: '女',
                sex3: '女',
            },
            components: {
                'child': {
                    template: '#t3',
                    props: ['nameMessage', 'ageMessage', 'sexmessage'],
                    data: function () {
                        return {
                            style3_flg: true,
                            style3: {
                                color: 'darkmagenta'
                            }
                        }
                    }
                }
            }
        })
    </script>
</body>

</html>
阅读 4.9k
2 个回答

P标签内只能是行内元素或者文本字段,不能是块级元素。如果出现块级元素浏览器会把代码自动解析成这样

<p></p>
    <h3></h3>
<p></p>
p标签本身是会计元素
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题