响应式网站研究现状做搜狗网站优化点击

张小明 2026/1/12 19:00:09
响应式网站研究现状,做搜狗网站优化点击,中小型企业网站建设,学校官方网站网页设计Vue3的setup()函数中this为undefined#xff0c;这是Composition API的重要改变。替代方案包括#xff1a;通过参数直接访问props和context#xff08;包含attrs、slots、emit等#xff09;#xff0c;使用解构语法简化写法。相比Options API#xff0c;Composition API不…Vue3的setup()函数中this为undefined这是Composition API的重要改变。替代方案包括通过参数直接访问props和context包含attrs、slots、emit等使用解构语法简化写法。相比Options APIComposition API不再依赖this而是通过显式参数访问组件属性和方法如用emit()替代this.$emit用ref替代this.$el。这种设计使代码更清晰明确提升了TypeScript支持度减少了this的魔术性访问。在 Vue 3 的setup()函数中this是undefined。这是 Vue 3 Composition API 的一个重要改变。为什么this是 undefined在setup()函数中组件实例尚未被完全创建所以this不可用。替代方案1.访问 Propsimport { defineProps } from vue; export default { props: [title], setup(props) { // props 作为第一个参数 console.log(props.title); // ✅ 正确 // console.log(this.title); // ❌ 错误this 是 undefined } };2.访问 Context上下文export default { setup(props, context) { // context 作为第二个参数 // context 包含以下属性 console.log(context.attrs); // 非 props 的属性 console.log(context.slots); // 插槽 console.log(context.emit); // 触发事件的方法 console.log(context.expose); // 暴露公共属性 } };3.使用解构语法export default { setup(props, { attrs, slots, emit, expose }) { emit(myEvent, data); // ✅ 触发事件 } };4.完整示例import { ref } from vue; export default { props: [initialCount], emits: [count-changed], // 声明自定义事件 setup(props, { emit }) { const count ref(props.initialCount || 0); const increment () { count.value; emit(count-changed, count.value); // 使用 emit 而不是 this.$emit }; return { count, increment }; } };与 Options API 的对比// Options API (Vue 2 / Vue 3 兼容) export default { mounted() { console.log(this.$el); // ✅ 可以访问 console.log(this.$props); // ✅ 可以访问 this.$emit(event); // ✅ 可以访问 } }; // Composition API export default { setup(props, { emit }) { onMounted(() { // console.log(this.$el); // ❌ 错误this 是 undefined console.log(props); // ✅ 使用 props 参数 emit(event); // ✅ 使用 context.emit }); // 如果需要访问模板引用使用 ref const myElement ref(null); return { myElement // 在模板中通过 refmyElement 绑定 }; } };主要变化总结Options APIComposition APIthis.$emit()emit()(从 context 获取)this.$propsprops(setup 参数)this.$attrsattrs(从 context 获取)this.$slotsslots(从 context 获取)this.$el模板引用 (ref)this.$parent避免使用考虑 Provide/Inject这种设计让代码更加明确减少了this的魔术性提高了 TypeScript 的支持度。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

东营市两学一做考试网站网站备案变更接入

从概念到落地:用LangFlow实现客服机器人工作流构建 在智能客服系统日益复杂的今天,企业不再满足于“关键词匹配固定回复”的传统机器人模式。用户期望的是能理解上下文、具备专业知识、还能记住对话历史的“类人”服务体验。而大语言模型(LLM…

张小明 2026/1/12 11:36:22 网站建设

提交网站入口微网站用手机可以做吗

Jupyter Notebook内核选项管理 在数据科学和人工智能项目中,你是否遇到过这样的场景:昨天还能正常运行的代码,今天突然报错“ModuleNotFoundError”?或者团队成员之间反复争论“在我机器上是好的”。这类问题往往不是代码逻辑的缺…

张小明 2026/1/8 12:31:56 网站建设

青岛推广网站网站可以做弹窗广告么

从清晨唤醒味蕾的电饭煲,到深夜默默清扫的扫地机器人;从调节室温的空调,到保障便捷洁净的热水器,生活电器早已超越单纯的“工具”属性,化身家居空间的温暖伙伴,更是现代人平衡生活效率与品质、安放日常温情…

张小明 2026/1/8 11:04:36 网站建设

网站建设概况传播学视角下网站建设研究

GitHub网络加速利器:让代码下载速度飞升的专业指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 对于国内开发者而言…

张小明 2026/1/8 17:01:32 网站建设

网站站欣赏上海最新发布最新

OpenModScan:工业通讯调试的终极武器深度解析 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 在工业自动化领域,Modbus调试工具是工程师们不可或…

张小明 2026/1/5 22:41:17 网站建设