Vue3与Vue2的$emit和$listeners

  • 时间:2025-10-24 19:55 作者: 来源: 阅读:4
  • 扫一扫,手机访问
摘要:Vue3 attrs中被收集 , 继承属性和事件 只需要 <div v-bind=”$attrs”></div> Vue2 attrs,而是收集到attrs” v-on=”$listeners”></div> <!DOCTYPE html> <html lang= en > &

Vue3

  • Vue3与Vue2的$emit和$listenersattrs中被收集  , 继承属性和事件 只需要 <div v-bind="$attrs"></div>

Vue2

  • Vue3与Vue2的$emit和$listenersattrs,而是收集到Vue3与Vue2的$emit和$listenersattrs" v-on="$listeners"></div>

<!DOCTYPE html>
<html lang= en >

<head>
    <meta charset= UTF-8 >
    <meta name= viewport  content= width=device-width, initial-scale=1.0 >
    <title>Document</title>
    <script src= ./js/vue.global.js ></script>
</head>

<body>
    <div id= app >

    </div>
    <script>
        const app = Vue.createApp({
            template: `
                <base-input 
                    label="用户姓名" 
                    type="text" 
                    placeholder="username" 
                    maxlength="2" readonly 
                    @focus="onFocus"
                    />
               <base-input label="用户密码" type="password" placeholder=" password" maxlength="3" />
            `,
            data() {
                return {

                }
            }
        })
        app.component("base-input", {
            // props: ["label", "type", "placeholder", "maxlength"],
            // props:["label","type"], // 一个两个可以使用,多个就太多了,Vue3没用到的存在$attrs中,包括事件,Vue2事件是存在$listeners中,事件继承需要v-on="$listeners"
            props:["label"],
        //     template: `
        //         <div>
        //             <label>
        //             <span>{{ label }}: </span>
        //             <input
        //                 :type="type"
        //                 />
        //             </label>
        //         </div>
        // `,
            template: `
                <div>
                    <label>
                    <span>{{ label }}: </span>
                    <input
                        v-bind="$attrs"
                        />
                    </label>
                </div>
        `,
        })
        app.mount( #app )
    </script>
</body>

</html>

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Spring Boot3 中实现按模板导出 Word 文档合同的技术指南(2025-10-30 16:04)
【系统环境|】openPangu-Ultra-MoE-718B-V1.1今日正式开源,部署指南来啦!(2025-10-30 16:03)
【系统环境|】Ubuntu + vLLM + DeepSeek 本地部署完全指南(2025-10-30 16:03)
【系统环境|】如何用公众号AI编辑器实现一键排版?一份完整的5步指南(2025-10-30 16:02)
【系统环境|】Spring Boot 与 Nacos 完美整合指南(2025-10-30 16:01)
【系统环境|】Rust MCP开发指南:让AI与应用对话的桥梁(2025-10-30 16:00)
【系统环境|】MCP Server 开发实战指南(2025-10-30 15:59)
【系统环境|】入门指南:使用 Playwright MCP Server 为你的 AI Agent 赋予能力(2025-10-30 15:58)
【系统环境|】一个IT女搬砖工的情人节爱心礼物指南及衍伸 v16.02.14(2025-10-30 15:57)
【系统环境|】百元矿渣显卡淘金全指南(2025-10-30 15:57)
手机二维码手机访问领取大礼包
返回顶部