插槽、生命周期

购物车加减操作关键代码

```vue

<template>

<tr v-for="(item,index) in products">

<input type="button" value="-" @click="btnA(index)">

<input type="text" v-model="item.quantity">

<input type="button" value="+" @click="btnB(index)">

<input type="button" value="移除" @click="btnRemove(index)">

</tr>

</template>

<script>

let totlaAmount = computed(()=>{

let tmp = products.value.reduce((a,b)=>{

return a += b.price * b.quantity

},0)

return tmp

})

const btnA = (index) =>{

products.valueindex.quantity --

}

const btnB = (index) =>{

products.valueindex.quantity ++

}

const btnRemove = (index) =>{

products.value.splice(index,1)

}

</script>

```

笔记

插槽(Slots)

  1. 概念:在组件中使用 `<slot>` 元素作为占位符,可将父组件传递进来的内容渲染到指定位置。

```vue

<template>

<ButtonCounter>

8888

<Profile></Profile>

</ButtonCounter>

</template>

<script setup>

import ButtonCounter from './components/ButtonCounter.vue'

import Profile from './components/Profile.vue';

import {ref, shallowRef} from 'vue'

// let cc = ref(ButtonCounter)

let cc = shallowRef(ButtonCounter)

let count = 1

function btn(){

count ++

if(count % 2 === 0){

cc.value = Profile

}else{

cc.value = ButtonCounter

}

}

</script>

```

  1. 动态组件实现方式:通过 Vue 的 `<component>` 元素和特殊的 `is` attribute 来实现组件的动态切换

```vue

<template>

<component :is="cc"></component>

<input type="button" value="点下" @click="btn">

</template>

```

生命周期钩子

  • 概念:每个 Vue 组件实例在创建时会经历一系列初始化步骤,在此过程中会运行生命周期钩子函数,让开发者有机会在特定阶段运行自己的代码

  • 常用钩子:onMounted、onUpdated、onUnmounted

  • 注册方式:在组件初始化时同步注册生命周期钩子。例如,在 `<script setup>` 中调用 `onMounted()` 等钩子函数

  • 注意事项:不要在异步函数中注册生命周期钩子,否则可能导致当前组件实例丢失,钩子无法正常工作

相关推荐
wangruofeng4 小时前
AI Models 1.1.0 发布,查大模型价格、对比模型和找 API 地址
前端·aigc·ai编程
wangruofeng4 小时前
给前端开发者的 100 个设计参考网站
前端·设计
M--Y7 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
星栈7 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技7 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户47949283569158 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马10 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng10 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
清晨Coding11 小时前
为什么用 React Developer Tools 查看组件树这么乱?
前端·react.js
johnjincaaaa11 小时前
猿人学第 18 题「jsvmp 洞察先机」逆向通关实录
javascript·后端