黑马复习vue

创建vue项目

 

vue是组件化开发

 

浏览器可执行文件1.htm 2.css 3.js 4.image

构建工具:webpack vite

 

assets是存放公共资源的文件夹

 

以下是入口文件,关联了index.html,把所有内容挂载到div显示,把所有文件转化为main.js可执行文件,然后从根组件开始,一层一层往下执行,同步异步在根组件之内,然后正常运行

  • 第1行:从Vue库导入createApp工厂函数
  • 第2行:导入根组件App.vue
  • 第4行:创建Vue应用实例(一个项目只有一个)
  • 第7行:将实例挂载到DOM的#app节点(这个app一般在index.html里面的<div>标签的id,因此所有的内容在浏览器检查的时候都是显示出,所有代码都被这个<div id=“app”>包裹)

 

 

响应式更新就是数据更新后视图自动更新

 

vue
v-html:自动解析在数据中的标签
比如在数据中
msg:{
<h3>数据</h3>
}
然后html部分中<div v-html=“msg”></div>
那么页面就会显示被h3标签css渲染后的“数据”两个字
但是<div>{{msg}}</div>则会显示没有css的“<h3>数据</h3>”

 

v-show:根据“是”与“否”来控制css的display:none来显示与隐藏盒子
(一般用来显示光标移动到某个位置出现某个弹窗的功能)
v-if:根据“是”与“否”来控制盒子是否存在
(一般用来条件判断不同条件显示不同内容)

 

v-on:用来触发事件
比如(不一定是执行语句,放函数也行)
先创建一个数据abc=100
<button v-on:click="abc++">+</button>
那点击这个+号就会执行加一的操作
调用事件的话可以使用@click=“函数名”直接调用函数

 

computed放计算属性的函数,只要没变就只计算一次缓存起来,调用的时候用同一个结果
放methods就不一样了

 

push在数组后面加然后自动渲染
concat在数组后面加但不自动渲染

 

为true的时候会给个class属性,这样的话可以尝试触发其他时间之后把这个值改为true,然后css属性变更

甚至能绑定两个css,多个的时候可以搞个对象或数组,语法也行,语法放两个也行

 

 

 

style也可以绑定

 

 

侦听器,侦听数据变化前后的,用console.log打印

 

表单输入绑定实时变更

 

但是用于搜索框的话输入一次搜索一次有点浪费资源,可以加个.lazy。这样的话按回车之后才搜索

 

DOM是**“活的”文档模型**,将标签、属性、内容转化为可编程对象,并通过树形结构管理其关系。它既是浏览器渲染页面的依据,也是开发者实现动态交互的桥梁

获取DOM节点,现在这个打印出来的dom包括了标签和属性和内容

但是ref挺消耗性能的除非不用dom实现不了功能,不然建议不要用

 

 

引用组件,组件不用写多余的来着直接被拿来用

组件注意

 多个组件

全局注册组件(不建议因为不好找关系而且就算不使用也会被打包)

 

组件都是层层调用的,组件间传值props(这字段只能父级传给子级不能反,并且这个字段是只读的,不允许修改从父组件传来的数据),以下是主页面调用父组件,父组件调用子组件,最后主页面显示出来是三行内容

先传静态的

 

 还能传多个数据,还是静态的

 

 还能传动态的

 传各种类型的值都行,数字类型

 

 数组类型

 

对象类型

 

数组传值规定类型,传了错误类型会报黄色警告

 

 还有

 实际上不传是不会有警告的,但是想要必传可以设置警告

 

 组件事件(props只能数据由父传子,这个组件事件可以让数据子传父)

 

 组件事件同时传递参数

 

 更方便看的话可以这样,点击之后显示传过来的值

 用v-model在组件间(子传父)进行数据实时传递

 

 

特殊子传父,父给子传了函数,子给父回传数据

 

更方便看

 

 

传递html结构----插槽               <slot></slot>插槽出口

 

具名插槽,如果不给名字的话,组件每个插槽都会输出一次<h3>和<p>

 

可以简写

 

vue的生命周期

vue的生命周期图解_vue生命周期图 橙子-CSDN博客

 直观看八大周期

 

 

组件切换

 

 组件卸载

 组件保持存活

 

同步是指先A后B再C严格按顺序,并且全部加载
异步是ABC条件允许情况下同时进行,用到的时候再加载

异步组件

 

组件数据props是逐层传递,爷传父再传子

但是可以provide可以跨组件透传(但是也只能由上到下传递,而且没关系的传不了)

 

传递动态数据也行

也可以换种方式接收

 

也可以定义全局变量

 

 

posted @ 2025-05-13 19:22  BKYNEKO  阅读(8)  评论(0)    收藏  举报