第一天:关于vue的基础(1)

1.$vm.$destroy()的作用是解除dom和挂载元素数据之间的关系,当使用了vm.$destory() 的时候,如果这个时候改变数据元素,dom元素之间的渲染并不会发生变化,比如这个时候写,vm.name ='hahha'这个时候dom元素就不会发生变化

2.vue的生命周期

Vue å®ä¾çå½å¨æ

总共有八个钩子函数,构造出一个vue实例之后,第一步先beforeCreate,然后created的,这哥时候会判断vue实例是否有template模板元素,如果有template之后就渲染template元素上面的东西,如果没有的话,就直接渲染div上面的内容比如没有template就渲染变量name的内容

 

mounted 的时候是把数据一斤挂载到dom元素上面了

3.模板语法

渲染总共三种方式,第一种{{变量}},第二种v-text="变量名",第三种 v-html="变量名"

4.计算属性

computed的作用就是为了避免语法全部写在{{}}里面,闲的比较冗余,或者的话在定义一个变量就也很冗余,所以就有了计算属性这个东西,计算属性具有缓存机制,当页面刷新与compute中涉及元素无关的时候,这个时候computed不会再次执行,如,当只有vm的name 和name1发生改变的时候这个时候computed才会去执行,当age发生改变的时候,computed并不会执行

 

注意computed与方法 的区别就是,methods里面的方法,只要页面刷新就会进行执行一次,如果一个方法中的返回值要展示在dom中的时候应该是{{方法名()}}

这个方法的写法文档上面生效了,但是我写的没有生效也不知道是什么原因

watch 写的时候也是很麻烦的说,所以同样的情况下还是用computed比较划算,同样的watch也是有缓存机制的

computed里面可以写对象,对象中 包含两个方法,一个是get还有一个是set方法,

使用computed的时候那个set方法,记住直接修改一个值只能是数据上面的修改,如果想要dom元素的修改,还必须给vm中的数据元素进行赋值

 

 

5.dom样式绑定,分成class以及style

class的绑定形式分成两种一种是对象是绑定还有一种是数组

对象的方式是: :class ={'类名': ‘data中的数据’},

 

判定条件是当后面的数据条件成立的时候才会展示类名中的样式

点击改变颜色的方法

 

第二种class是的方法是数组的方法

:class= "[data中的变量名]"

需要注意的是,数组中别的变量可能不只是一个还有可能是很多个

 

style的样式绑定也有两种,第一种是obj格式,第二种是数组格式

:style= "data中的对象或者直接是一个对象{}"

第二种是: style=[],其实十一个数组对象

6.v-if he v-show 的区别

如果都是false的情况下,v-if的话dom元素根本就不会渲染,但是v-show的话,dom元素会被渲染但是现实的是display:none

r如果没有将数据挂载到元素下面的时候,就是数据改变,dom元素没有发生渲染

如果动态展示是否显示一个元素的时候,v-show的性能可能会更好因为,v-if要重新渲染dom元素,而v-show只是显示和隐藏

v-if ="show" v-else if ="" v-else这谢东席必须连用中间不能夹杂其他的东西,否则会报错的

注意:dom中的元素渲染的时候会尽可能的复用,所以可能导致有些输入框的内容清除不掉,这个时候加个key表示独一无二,dom元素不能将其复用的意思

如果不加可以的时候,如果邮箱中input输入之后,改变vm.showTest 的值,这个时候qq中也会存在值

 

8.遍历渲染:包括数组和对象

数组的话 v-for="(item,index) of  arr"

对象 v-for ="(item,key,index) of obj"第一个是元素内容,第二是对象的键,第三个是index顺序

为了避免复用也要加上key值进行标志,:key ="index"的话性能会降低,所以一般使用eldata数据中的东西进行标注

增加一个数组重新渲染的方法:一般想到的可能是 arr[arr.length] = '一个新的数据',但是内容根本不会渲染进去,可以看出来数据元素已经是添加上去了,但是dom元素却是没有渲染进来

原因是因为,vue渲染的时候是根据对象中的set和get进行渲染的,但是数组中并没有get和set

解决方法

一: 重新赋值,这样子的haul会显得比较冗余

二:使用一些变异方法,比如push pop shift 等等

 三是手动set方法

包括两个,第一个是在vm实例中直接set,主要vmde属性要加上$

d

第二个就是在vuez中进行set操作

 

直接修改对象属性或者是添加对象属性的时候应该怎么样操作

传统想法肯定是vm.obj.属性 = 值

但是这个并不能实现

也是只改变了数据元素而dom元素没有去渲染

如果直接修改get和set name 是可以发生触发打印的,但是如果在person.name.name ='111'这个是不能触发的

这个时候就没有触发set方法

受现代 JavaScript 的限制 (以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。例如
 

解决方法和数组相同

第一就是直接全部赋值

第二就是

 

9.template 的作用就是包裹,渲染的时候不会被渲染成div元素

10.for of 和for in的区别

 for in的话 index是一个字符串

但是for of 中的index不是一个字符串

然后就是 for of 不能去遍历一个对象的, 如果去遍历对象的手就会发生报错

总而言之的话,for in适用于对象

for of适用于 数组

如果要用for of 去遍历对象的时候就必须使用for (var i of Object.keys(obj))这个时候才能遍历出key值

使用for in遍历的时候就能直接遍历出key值

使用for of遍历数组的时候就,遍历的直接是数组的值,使用forin的时候遍历的时候,遍历的是数组小标

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
第一天开始学习Vue 3,首先要了解Vue的基本概念和核心功能。Vue是一个用于构建用户界面的渐进式JavaScript框架,它采用组件化的方式来开发应用程序。 在Vue 3中,有一些重要的变化和改进。首先,Vue 3引入了Composition API,这是一个全新的API,可以让我们更好地组织和共享组件逻辑。通过Composition API,我们可以使用函数来编写组件的逻辑,而不仅仅是通过选项对象。 另一个重要的改进是性能的提升。Vue 3在内部进行了许多优化,例如使用Proxy替换了原来的Object.defineProperty来实现响应式系统。这使得Vue 3在处理大型数据集和性能敏感应用程序时更高效。 还有一项重大的变化是对TypeScript的更好支持。Vue 3引入了许多类型声明文件,使得在使用TypeScript时更容易推断和检测组件的类型。 在第一天,我们可以开始学习Vue 3的安装和使用。我们可以通过npm或yarn来安装Vue,然后使用Vue的命令行工具创建一个新的Vue项目。 接下来,我们可以学习Vue的基本语法和核心概念,例如如何定义一个组件、使用指令和插值表达式、处理事件等。 最后,我们可以尝试编写一个简单的Vue应用程序,并将其运行起来。通过实践,我们可以更加深入地理解Vue的使用和原理。 第一天是学习Vue 3的基础,为接下来的学习打下坚实的基础。希望通过努力学习,在接下来的30天内可以精通Vue 3的使用和开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值