vue脚手架 笔记01

01 页面组件

        所谓的组件就是把页面每一块内容单独分离出去封装起来

        组件包括自己本身的html css 和 js

        可以被反复引入使用 (复用)

        方便后期维护(方便快速的增加或者删除指定页面的指定模块)

        组件化开发:

                组件是独立的可复用的代码组织单元 组件系统是vue核心特性之一

        组件分类:页面组件 业务组件 通用组件

        页面组件:

                一个vue文件充当一个页面比如:现在的App.vue

        业务组件:

                基本上页面渲染部分很少 主要针对数据的业务逻辑处理的vue文件

        通用组件:

                一个小组件 可以在其他页面上到处多次渲染

        Index页面组件的渲染:

                1 在src里面创建Index.vue

                2 vue文件中定义三大模块 template script style

                3 template里面必须有根节点标签(一般都是div div加id id的名字一般就叫做组件的名字)

                4 script必须定义export default{}表示数据和事件对外暴露使用

                5 在mian.js通过import 引入这个组件

                        import Index from './Index.vue'

                6 在new Vue的options对象里面 通过render函数渲染这个页面组件

                         render: h => h(Index)

                 组件的data必须是一个函数 这个函数必须return一个大括号

                在大括号里面定义组件要用的data数据

                面试题:为什么组件的data必须是一个函数

                原因:将来多个组件打包后 会合并到一起 一旦组件之间有data数据重名,

                就可能出现覆盖的情况  导致打包之后数据混乱所以组件的data是一个函数,

                就形成了一个闭包  数据就变成了局部变量 就算都打包合并到一起,

                不同的组件就是不同的局部变量 数据重名也互相不影响。

02 子组件

        一个组件在另一个组件的template里面渲染使用那么当前的这个组件就是子组件,外部的组件就是父组件

        vue文件存放位置的潜规则:

        页面组件存放在src下views文件夹

        通用组件(反复复用的一小部分效果的组件) 存放在src下componenets文件夹里面

        (潜规则一般组件的首字母大写 不强求 一般在main里面引入的组件对象都是大写)

步骤:

        1.在components文件夹里面创建文件名.vue文件

        2.在子组件中定好当前组件的模板 样式 和数据

        3.在想要引入该组件的vue文件中的script标签里面通过import引入这个子组件

                import 对象名 from './components/组件名'

        4.在当前父组件的compoents:{}里面注册子组件标签名

                components:{

                    Child

                }

        5.在当前父组件的template里面直接通过子组件标签名使用

        总结:

        组件的简单理解:

            把一堆标签封装起来 变成一个自定义标签 可以反复使用

            这个标签里面自带页面样式和动态效果

03 动态组件

        动态组件的使用:

                1 在template模板里面引用component组件(vue提供的自定义标签名称就叫做组件)

                2 component组件有一个is属性 is属性等于哪一个子组件标签名  就会渲染哪一个子组件

                3 使用v-bind:is 绑定is属性 关联一个变量 变量等于哪个子组件就显示哪个子组件

      .native 事件穿透 把事件穿透到#child的标签上面 相当于父组件模板中给子组件的标签绑定事件

      最终绑定的是id为child的标签上面

      html原生的标签绑定事件不需要穿透

      自定义组件或者第三方的组件或者官方提供的其他的组件需要穿透

04 slot插槽

        slot插槽的作用:

                子组件的标签内部默认不能存放任何html代码

                因为子组件最终渲染成功以后 会把子组件的标签的内容替换并渲染成子组件

                template里面的内容

        插槽分类:

        匿名插槽:

                在子组件的模板中 定义slot标签即可

                将来子组件标签内部所写的所以内容 都会被保存到这个slot标签所在的位置

        具名插槽:

                子组件标签内部的slot组件 需要添加一个name属性 值为自定义名字

                外部使用该子组件的时候 想要保存的内容的标签上面定义slot属性,

                值为子组件内部slot组件的name值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙状态管理-@Builder自定义构建函数

Builder 将重复使用的UI元素抽象成一个方法 在build方法里调用 使其成为 自定义构建函数 Entry Component struct BuilderCase {build() {Column(){Row(){Text("西游记").fontSize(20)}.justifyContent(FlexAlign.Center).backgroundColor("#f3f4f5").hei…

vue课后习题及答案

第一章 初识vue.js 一.填空题 1.Vue是一套用于构建___用户界面_____的渐进式框架. 2.Vue中的指令以______v-__开头. 3.Node.js 是一个基于____V8___引擎的JavaScript运行环境。 4.在yam 中,__yarn add__命令用于添加指定名称的包。 5.在 npm 中,___…

性能测试-测试方法总结(压力/负载)超详细

前言 并发/负载/压力理解 负载测试:通过不断加压使系统达到瓶颈,为调优提供参考数据 压力测试: 稳定性压力测试:在不同的给定的条件下(比如内存的使用,一定时间段内有多少请求等)&#xff0c…

IEAD常用快捷键

如题 网页图片不清晰,可下载后查看

【SHUD】PIHMgis编译过程(下)sundials及PIHM编译过程

文章目录 说明sundials编译sundialssundials源代码下载MINGW下sundials编译过程CMAKE下sundials编译过程(推荐)PIHM编译过程安装QT 5导入项目配置VSVS使用静态库文件qt deployment toolgdal.dll编译PIHMgis成功编译

代码随想录算法训练营Day60 | 84.柱状图中最大的矩形

代码随想录算法训练营Day60 | 84.柱状图中最大的矩形 LeetCode 84.柱状图中最大的矩形 题目链接&#xff1a;LeetCode 84.柱状图中最大的矩形 class Solution { public:int largestRectangleArea(vector<int>& heights) {int result 0;stack<int> st;height…

NXP i.MX8系列平台开发讲解 - 3.14 Linux 之Power Supply子系统(一)

专栏文章目录传送门&#xff1a;返回专栏目录 Hi, 我是你们的老朋友&#xff0c;主要专注于嵌入式软件开发&#xff0c;有兴趣不要忘记点击关注【码思途远】 目录 1. Power Supply子系统介绍 2. Power Supply子系统框架 3. Power Supply代码分析 本章节主要介绍Linux 下的P…

具体因字数问题

问题描述 给定整数 n n n&#xff0c;在 O ( 1 ) O(1) O(1) 时间求出 n n n 有多少个因子。 问题背景 \qquad 目前网上求因子个数的方法的时间复杂度都是 O ( n ) O(\sqrt{n}) O(n ​) 级别的&#xff0c;但我认为一定有一种方法可以在 O ( 1 ) O(1) O(1) 的时间求出 n…

插入排序——表插入排序

目录 1、简述 2、复杂程度 3、稳定性 4、实例 1、简述 表插入排序&#xff08;Table Insertion Sort&#xff09;是一种基于插入排序的排序算法&#xff0c;它通过维护一个已排序的索引表来加速插入操作。在标准插入排序中&#xff0c;每次插入一个新元素时&#xff0c;需…

vs2019 c++20 规范的头文件 <future> 源码注释和几个结论

&#xff08;1 探讨一&#xff09;在多线程中&#xff0c;需要线程返回值的可以用该头文件中的类。该头文件中模板类和模板函数定义很多&#xff0c;用一幅图给出模板类之间的关系&#xff0c;方便从整体上把握和记忆&#xff1a; &#xff08;2&#xff09;

6.5 作业

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数。 #include <iostream>using namespace std; class Stu { privat…

WebScoket scope类型

每个 WebSocket 会话都有一个属性map。该map作为标头附加到入站客户端消息&#xff0c;并且可以从控制器方法访问它&#xff0c;如以下示例所示&#xff1a; Controller public class MyController {MessageMapping("/action")public void handle(SimpMessageHeader…

GNN与Transformer创新结合!模型性能起飞!

前言 近年来&#xff0c;图神经网络&#xff08;GNN&#xff09;和Transformer模型分别凭借其独到的优势&#xff0c;在处理复杂数据结构和识别序列间的相互依赖性方面取得了突破性进展&#xff0c;这些优势使得GNN和Transformer的结合成为图表示学习领域的一个有前景的研究方…

注解 - @RequestMapping

日期: 2024年6月5日 注解简介 在今天的每日一注解中&#xff0c;我们将探讨RequestMapping注解。RequestMapping是Spring框架中的一个注解&#xff0c;用于映射HTTP请求到处理器方法或控制器类。 注解定义 RequestMapping注解可以用于类和方法上&#xff0c;以指定URL路径和H…

IP黑名单与IP白名单是什么?

在IP代理使用中&#xff0c;我们经常听到黑名单与白名单两个名词&#xff0c;它们不仅提供了强大的防御机制&#xff0c;还可以灵活应对不同的安全威胁。本文将详细探讨IP黑名单和白名单在网络安全中的双重屏障作用。 一、IP黑名单和白名单定义 IP黑名单与IP白名单是网络安全中…

Android 15?我想躺着

大家好,最近行业形势越来越差,希望大家安好吧。 之前写过一些 Android 版本的适配: 安卓11来了,快!扶我起来安卓13来了,快!扶起我来!Android 14 又来了?别扶!抬起我来吧!今年继续,这对于自己来说也算是一个小的任务或者说传统吧。 同样,本篇文章也会从以下几个点…

区块链游戏(链游)安全防御:抵御攻击的策略与实践

一、引言 区块链游戏&#xff0c;或称为链游&#xff0c;近年来随着区块链技术的普及而迅速崛起。然而&#xff0c;如同其他任何在线平台一样&#xff0c;链游也面临着各种安全威胁。本文将探讨链游可能遭遇的攻击类型以及如何通过有效的策略和技术手段进行防御。 二、链游可…

小孩天赋是怎样炼成的 懂孩子比爱孩子更重要 详细天赋评估列表 观察非常细致 培养领导能力的方法

懂孩子比爱孩子更重要 “懂孩子比爱孩子更重要&#xff0c;懂才更准确的去爱” 这句话说得很有道理。理解孩子的内心世界、需求和独特个性&#xff0c;比单纯地给予爱更加重要。以下是一些解释&#xff1a; 理解孩子的需要&#xff1a;懂孩子意味着理解他们的需求、恐惧、欢乐…

动软代码生成器

目前代码生成器好久没有更新了&#xff0c;今天下载变成电影频道了&#xff08;掉泪&#xff09;&#xff1b;这里做个记录&#xff1b; 目前我使用该软件主要是使用数据表》代码功能&#xff1b;自己创建模板&#xff0c;生成前后台代码&#xff1b;前台主要是vue3.0&#xff…

大模型时代的具身智能系列专题(十)

Sergey Levine团队 Sergey Levine目前是UC Berkeley电气工程与计算机科学系的副教授&#xff0c;同时是RAIL(Robotic AI&Learning LabBAIR)实验室主任。除了在Berkeley的教职&#xff0c;Levine也是Google Brain的研究员&#xff0c;他也参与了Google知名的机器人大模型PA…