首页 > 其他分享 >Vue day04

Vue day04

时间:2024-10-13 21:21:20浏览次数:14  
标签:Vue 样式 data prop props 组件 day04 数据

一、组件的三大组成部分(结构、样式、逻辑)

 

1.  scoped 样式冲突

默认情况下,写在组件中的样式是全局样式,会全局生效。

给组件加上scoped 属性,可以让样式只作用于当前组件

<style scoped>

2.  data 是一个函数

一个组件的 data 选项必须是一个函数(保证每个组件实例,维护独立的一个数据对象)

 

每个数据互相之间是独立的


 

二、组件通信

1.  组件通信语法

组件的数据是独立的,无法直接访问其他组件的数据

想用其他组件的数据,组件通信 

组件通信:组件与组件之间的数据传递

组件通信解决方案:

        父子关系(props 和 $emit)

        非父子关系(provide 和 inject)(eventbus)

通用解决方案:

        Vuex(适合复杂业务场景,如父传孙)

2.  父传子

1.  给子组件以添加动态属性的方式传值

2.  子组件内部通过 props 接收

3.  模板中直接使用

3.  子传父 

子组件用 $emit 通知父组件,修改值 

 


4.  props 详解

什么是props ?

定义:组件上注册的一些自定义属性

作用:向子组件传递数据(可以传递任意数量,任意类型的数据)

 props 校验

为组件的 prop 指定验证要求,不符合要求,控制台出现错误提示

1.  基础写法(类型校验) 

  props:{
    username: String,
    age: Number,
    isSingle: Boolean,
    car: Object,
    hobby: Array
  }

 

prop & data、单项数据流

共同点:都可以给组件提供数据

区别:

data 的数据是自己的,随便改

prop 的数据是外部的,不能直接改,要遵循单向数据流

单向数据流:父级prop的数据更新,会向下流动,影响子组件。整个数据流动是单项的。 

  


5.  非父子(拓展)

三、综合案例 — 小黑记事本(组件版)

  • 拆分基础组件

  • 渲染待办任务

  • 添加

  • 删除

  • 统计和清空

  • 持久化存储


 

四、进阶语法

1.  v-model 原理
2.  v-model 应用于组件
3.  sync 修饰符
4.  ref 和 $refs
5.  $nextTick

标签:Vue,样式,data,prop,props,组件,day04,数据
From: https://blog.csdn.net/weixin_53676387/article/details/142898860

相关文章

  • 基于SpringBoot+Vue的办公用品销售系统设计和实现(源码+lw+部署+讲解)
    详细视频演示请联系我获取更详细的演示视频具体实现截图技术可行性分析经过调研与分析,我认为使用SpringBoot、Vue和MySQL构建本系统具有很高的技术可行性。具体而言,SpringBoot作为轻量级的Java开发框架,能够快速搭建和简化配置,提高开发效率和降低维护成本;Vue作......
  • JAVA毕业设计189—基于Java+Springboot+vue的自动售水机管理系统(源代码+数据库+13000
    毕设所有选题:https://blog.csdn.net/2303_76227485/article/details/131104075基于Java+Springboot+vue的自动售水机管理系统(源代码+数据库+13000字论文+任务书)189一、系统介绍本项目前后端分离(可以改为ssm版本),分为用户、员工、管理员三种角色1、用户:注册、登录、......
  • [vue3 JavaScript CSS]实现电商网站商品预览,图片放大镜功能
    da效果预览:当鼠标浮在图片上时,灰色小框跟随鼠标运动。右侧大图显示。灰色框不会跑出图片,鼠标移动,右侧大图相应跟随移动。实现思路在实现前,我们想梳理一下我们要实现什么功能灰色框跟随鼠标移动,注意处理边界情况当鼠标进入时右侧大图出现,鼠标移出时右侧大图消失鼠标向左......
  • 264 Deploying a Vue App(部署WebAPI和VUE)
    步骤一、CoachWebAPIIIS部署(后端)1、发布ASP.NETWebAPI程序a)修改Program.cs中的Swagger部分,如下//ConfiguretheHTTPrequestpipeline.//if(app.Environment.IsDevelopment())//{app.UseSwagger();//app.UseSwaggerUI();app.UseSwaggerUI(c=>......
  • java+vue计算机毕设高信誉大学生就业网【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着高等教育的普及和就业市场的日益竞争激烈,大学生面临的就业压力愈发沉重。传统的就业渠道和方式已难以满足当前大学生的多样化需求,尤其......