当前位置: 首页 > wzjs >正文

成都最好的汽车网站建设网站的基本布局

成都最好的汽车网站建设,网站的基本布局,织梦手机网站源码下载,无锡手机网站建设公司第二阶段:深入核心 1. Composition API 理解 Composition API 是啥 在 Vue 2 里,咱们写组件逻辑的时候,是把不同功能的代码分散在 data、methods、computed 这些不同的选项里。就好比你有一个工具箱,锤子、螺丝刀、扳手都被放在…

第二阶段:深入核心

1. Composition API
理解 Composition API 是啥

在 Vue 2 里,咱们写组件逻辑的时候,是把不同功能的代码分散在 datamethodscomputed 这些不同的选项里。就好比你有一个工具箱,锤子、螺丝刀、扳手都被放在不同的小格子里。当组件逻辑越来越复杂,要找某个功能的代码就很麻烦。

而 Composition API 就像是给你一个新的整理方式,它可以把相关的逻辑都打包在一起。比如你要做一个跟表单验证相关的功能,用 Composition API 就可以把验证的代码都写在一个地方,方便管理和复用。

学会创建和使用组合函数

组合函数就是把一些逻辑封装起来的函数。举个例子,咱们要做一个计数器功能,每次点击按钮数字就加 1。

// 这是一个组合函数,专门用来处理计数器逻辑
import { ref } from 'vue';export function useCounter() {// 创建一个响应式的变量 count,初始值为 0const count = ref(0);// 定义一个函数,用来让 count 的值加 1const increment = () => {count.value++;};// 把 count 和 increment 函数返回出去,这样其他地方就能用了return {count,increment};
}

然后在组件里使用这个组合函数:

<template><div><!-- 显示 count 的值 --><p>{{ count }}</p><!-- 点击按钮调用 increment 函数 --><button @click="increment">增加</button></div>
</template><script setup>
// 引入组合函数
import { useCounter } from './useCounter.js';// 使用组合函数,得到 count 和 increment
const { count, increment } = useCounter();
</script>

这样,计数器的逻辑就被封装在 useCounter 函数里,以后其他组件也能用这个函数,实现代码复用。

掌握 setup 函数

setup 函数是 Composition API 的入口。当组件创建的时候,setup 函数就会先执行。在 setup 函数里,咱们可以使用响应式数据、生命周期钩子等。

<template><div><p>{{ message }}</p></div>
</template><script setup>
import { ref } from 'vue';// 创建一个响应式的 message 变量
const message = ref('Hello from setup!');
</script>
2. 生命周期钩子

生命周期钩子就像是组件的不同“人生阶段”,在这些阶段我们可以执行一些特定的代码。

认识各个生命周期钩子
  • onBeforeMount:在组件挂载到页面之前触发。就好比你要搬家,在东西还没搬到新家之前,你可以做一些准备工作,比如检查新家的水电是否正常。
<template><div></div>
</template><script setup>
import { onBeforeMount } from 'vue';onBeforeMount(() => {console.log('组件马上要挂载了,先做些准备');
});
</script>
  • onMounted:组件已经挂载到页面之后触发。就像你已经把东西搬到新家,并且都摆放好了,这时候可以开始在新家生活啦。
<template><div></div>
</template><script setup>
import { onMounted } from 'vue';onMounted(() => {console.log('组件已经挂载好,可以开始干活啦');
});
</script>
  • onBeforeUpdate:在组件数据更新之前触发。比如你要修改家里的家具摆放,在动手之前先计划一下怎么改。
  • onUpdated:组件数据更新之后触发。就像你已经把家具摆放好了,看看效果怎么样。
  • onBeforeUnmount:在组件销毁之前触发。就像你要搬离这个家,在走之前把东西整理一下。
  • onUnmounted:组件销毁之后触发。就像你已经搬离了这个家,这个家跟你没关系了。
3. 组件化开发
学会创建和使用组件

组件就像是一个个小零件,我们可以把一个大的页面拆分成很多小的组件,这样代码会更清晰,也更容易维护。

创建一个组件很简单,比如创建一个 HelloWorld 组件:

<!-- HelloWorld.vue -->
<template><div><h1>{{ message }}</h1></div>
</template><script setup>
import { ref } from 'vue';const message = ref('Hello, World!');
</script><style scoped>
h1 {color: blue;
}
</style>

然后在另一个组件里使用它:

<template><div><!-- 使用 HelloWorld 组件 --><HelloWorld /></div>
</template><script setup>
// 引入 HelloWorld 组件
import HelloWorld from './HelloWorld.vue';
</script>
掌握组件之间的通信方式
  • props:就像是给组件传递参数。比如你有一个 UserInfo 组件,用来显示用户信息,你可以通过 props 把用户的姓名、年龄等信息传递给它。
<!-- UserInfo.vue -->
<template><div><p>姓名: {{ name }}</p><p>年龄: {{ age }}</p></div>
</template><script setup>
import { defineProps } from 'vue';// 定义 props
const props = defineProps({name: String,age: Number
});
</script>

在使用 UserInfo 组件的时候传递参数:

<template><div><!-- 传递 name 和 age 参数 --><UserInfo :name="userName" :age="userAge" /></div>
</template><script setup>
import { ref } from 'vue';
import UserInfo from './UserInfo.vue';const userName = ref('张三');
const userAge = ref(25);
</script>
  • emit:子组件可以通过 emit 向父组件发送消息。比如子组件里有一个按钮,点击按钮时通知父组件做一些事情。
<!-- ChildComponent.vue -->
<template><div><button @click="sendMessage">点击我通知父组件</button></div>
</template><script setup>
import { defineEmits } from 'vue';// 定义可以触发的事件
const emits = defineEmits(['messageSent']);const sendMessage = () => {// 触发 messageSent 事件,并传递数据emits('messageSent', '这是子组件发来的消息');
};
</script>

在父组件里监听这个事件:

<template><div><ChildComponent @messageSent="handleMessage" /></div>
</template><script setup>
import ChildComponent from './ChildComponent.vue';const handleMessage = (message) => {console.log('收到子组件的消息:', message);
};
</script>
  • v-model:这是一种更简洁的双向数据绑定方式。比如有一个 InputComponent 组件,用来输入内容,使用 v-model 可以让父组件和子组件的数据保持同步。
<!-- InputComponent.vue -->
<template><div><input v-model="localValue" @input="updateValue"></div>
</template><script setup>
import { defineProps, defineEmits, ref } from 'vue';const props = defineProps({modelValue: String
});const emits = defineEmits(['update:modelValue']);const localValue = ref(props.modelValue);const updateValue = () => {emits('update:modelValue', localValue.value);
};
</script>

在父组件里使用:

<template><div><InputComponent v-model="inputText" /><p>输入的内容是: {{ inputText }}</p></div>
</template><script setup>
import { ref } from 'vue';
import InputComponent from './InputComponent.vue';const inputText = ref('');
</script>

通过组件化开发,我们可以把一个复杂的项目拆分成一个个小的组件,每个组件负责自己的功能,这样代码的可维护性就大大提高了。


文章转载自:

http://NxB7PyPb.tytLy.cn
http://FxCFRMDl.tytLy.cn
http://NbI5uzKp.tytLy.cn
http://MdpiprYA.tytLy.cn
http://vgeIs9PP.tytLy.cn
http://oLPyHByg.tytLy.cn
http://vrbuTjkM.tytLy.cn
http://FMOIhVMu.tytLy.cn
http://BukdYkKE.tytLy.cn
http://RRO6CNNZ.tytLy.cn
http://TjRZbWff.tytLy.cn
http://lEThqKTx.tytLy.cn
http://pPYgN6j4.tytLy.cn
http://Bzuaq0nI.tytLy.cn
http://j7ygHI8o.tytLy.cn
http://h8qsDJ4y.tytLy.cn
http://wpSq4G22.tytLy.cn
http://UEsZGOKa.tytLy.cn
http://2wKmIc3b.tytLy.cn
http://ZbZ9lG2h.tytLy.cn
http://fvYTgOq2.tytLy.cn
http://Q9bbzljv.tytLy.cn
http://xObbOZYK.tytLy.cn
http://qNoMkjw4.tytLy.cn
http://BPfIvuL1.tytLy.cn
http://b0kkTCeO.tytLy.cn
http://cmTgEBe5.tytLy.cn
http://oFcPzd28.tytLy.cn
http://MT0J4cQa.tytLy.cn
http://aQ74Bxf9.tytLy.cn
http://www.dtcms.com/wzjs/697802.html

相关文章:

  • 众筹网站建设wordpress 0day漏洞
  • 韶关东莞网站建设江苏网站建设联系方式
  • 网站标题关键词用什么隔开wordpress搜索产品伪静态
  • 专家库 网站 建设方案怎样制作灯笼
  • 视频分享网站模板广州谷歌seo公司
  • 网站设计的工作内容网站开发是网站后台开发吗
  • 上海网站建设免费推ps怎样做网站首页图
  • 交通运输行业网站建设一个虚拟机怎么做两个网站
  • 微网站模板 餐饮高校网站建设需求分析报告
  • 深圳网站制作公司新闻韩国平面设计网站
  • 重庆网站整合营销关于网页设计的论文范文
  • 一般电脑网站建设及运营多少钱seo网站优化方案案例
  • 免费做图网站有哪些上海微盟企业发展有限公司
  • 建站一条龙的服务流程是怎么样的网站上线 模板
  • 织梦网站管理系统哪个网站做高中的题好
  • 建设跨境电商网站企业模块
  • 安康网站定制厂家网站被黑客入侵怎么办
  • 沂水网站优化php做网站开源项目
  • 怎样做视频网站的外链搭建自己的邮件服务器
  • 网站主题咋做wordpress图像验证码
  • 可以不使用备案的网站名吗网页开发的公司
  • 江苏城乡建设学校网站旅游网站开发的意义相关资料
  • 网站建设读书笔记东莞专业做外贸网站的公司
  • 现在最好的企业网站管理系统怎样查看一个网站的域名
  • 婚恋网站建设技巧可以建设网站的软件
  • 小米路由器建设网站色彩搭配 网站
  • 网站开发现状都用php下载app软件安装
  • wordpress 仿站思路电子商务企业网站策划
  • 怎么样做电影网站代理记账公司如何寻找客户
  • 企业网站需要响应式企业网网站怎么做