vue框架中调用其他对象的方法无法得到响应体中数组的长度的问题

vue 的生命周期

vue的生命周期存在8个区间,分别是
**beforeCreate**(创建之前)、**Created**(创建后)、
**beforeMount**(挂载前,ps:在数据呈现在页面之前)
、**Mounted**(挂载后)、**beforeUpload**(更新前)、
**uploaded**(更新后)	、**beforeDestory**(销毁前)、
**Destoryed**(销毁后)。
 从字面意思不难看出来,vue框架里一个页面的创建到销毁的过程中,
 这些函数的运行顺序。

beforeCreate:

 此时的页面属于虚无的状态,
 你明白他存在,但是并不知道里面存在的是什么。

Created:

此时的页面属于混沌初期,data已经被定义并且
methods方法也可以被调用。

beforeMount:

此时的页面处于上古时期,此时数据处于预加载数据状态,
类似于盘古尚未开天辟地时的状态,此时$el 和 data 
都已经初始化完毕,处于虚拟的 dom节点,模板在内存中
也编辑完成,用成语来说就是蓄势待发。

Mounted:

盘古开天辟地,女娲造人使万物富有灵性,
这之后的世界便是Mounted的最好诠释,但是事务总是会变的,
朝代的更替就会引发史实的更改 。页面v-model中的值抑或
是其他引用的值全部显示出来,此时处于实例的dom节点,创
建实例的最后一步,Mounted走完便代表着实例完成

beforeUpdate:

所有朝代在变更之前,会使史官记录前朝的罪行,抑或是升
华自己的形象,这便是beforeUpload所代表的行为,前朝与
后朝的习惯还未改变,data数据的更替尚未开始

Updated:

改朝换代之后,所触发的影响,便是Updated,此时所有的
事务都是新面貌了,data数据也是新的状态

beforeDestory:

灭国的前奏,烽火戏诸侯的行为便是beforeDestory函数的表达。

Destoryed:

任务结束,狼人胜利

正题:

为什么会出现响应数据的length(以length为例)获取不到呢?
1、为什么会出现这种情况
数据的来源肯定是需要在我们初始化的时候,也就是在Mounted方法之前(包括)将数据赋予到数据中。但是我们忽略了,本身我们的其他对象的数据是通过调用该对象的方法来得到的。而在此之前,本页面的该对象数据是不存在的,亦或是null,亦或是undifine,所以我们在Upload之前来得到length的行为是不可取的。
2、取得参数:
在改变data中参数的数据时,也就是得到其他对象数据并赋值的时候便是updated函数的调用时刻,在这个时候所有数据都已经装载完毕,并且处于最新的状态,这个时候我们调用当前对象的数组长度便可以解决问题

END

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值