vue基础阶段性思考一

vue基础小结

在子组件中,当前数据的键值对和当前DOM元素绑定,对于每个DOM元素,this指向的直接就是当前DOM元素绑定的那一组键值对,而非指向的整个数据组。利用这一点,可以设置监听事件,将当前DOM元素绑定的键值对中某个具有识别性的数据传给父组件,让父组件可以在整个数据组中锁定那个需要进行操作的键值对。

和之前绑定自定义属性的对比

和之前学过的在创建标签时,给标签绑定和数据相关的自定义属性类似,只不过之前的是需要通过e.target来获取被操作的元素,进而来修改元素的属性,而vue是通过被监听的元素事件触发后,会向父组件传递回被触发DOM元素所绑定的数据,然后父组件在数据组中锁定被触发的键值对,处理之后展示在子组件的DOM元素中(此处让DOM元素展示改变的vue内部封装代码是什么我不知道,但我猜测是和Ajax一样,根据获取到的数据写在模板中,然后根据模板内容修改DOM树,区别是Ajax那个是重铺DOM树,而vue是根据虚拟DOM对比后去小范围的修改DOM树)。

瓶颈思考

学到vue之后,总以为vue是用了什么更好的方法可以去完成我们要做的事情,但是经过一遍遍思考之后,觉得确实是用了更好的方式,却也并不是更好的方式。好的地方在于它封装了,使用起来更为简便;并没有那么好的原因是,实际上的底层处理方式或许一样,只不过封装之后使用起来的方式不一样了。vue优秀的地方在于:vue的虚拟DOM技术可以更为准确的修改变化的节点,而非像之前那样完全重铺;vue重要的是代码组件化的方式,让一个页面的代码如一个个模块一样拼装在一起,耦合性低,更容易维护;以及它对一些常用行为模式的封装,让代码编写起来更为简便快捷 .

组件思考

从概念上讲,组件的意义是将一段重复使用的页面代码(包括html,css,js)封装,让其可以重复使用,优点前面也说过了,耦合性低,易于维护,便于重复使用。
在我看来,组件的模式更像是一个函数,而props数组里面写入的则是函数的形参,在父组件中,通过赋予属性值的方式将实参数据进行传递,又或者说更像一个构造函数,在传递进实参之后实例化出了一个页面的模块。
需要注意的是,在子组件中,props写的参数既可在实例化时接收数据,也可在实例化完成后作为锁定当前操作项的参数传递出去,但是当传递出去的数据会被修改时,需要将参数写在data(){}中(data中的参数只能作为子向父传递数据的传递项,而不能作为父向子传递数据的接收项)

关于什么类型的代码该在在父组件或子组件中写入的思考

在父组件以数组的形式将数据传给子组件后,子组件可以直接在子组件中进行数据的处理,原因是:尽管props中的数据是只读的,但是对于复杂数据类型而言,传入的是堆空间地址,可以通过修改属性值的方式修改其内数据,所以可以尽可能的在子组件中完善其所需要的所有功能,只在父组件中进行导入使用和实例化传值。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值