vue computed 赋值,vue修改computed属性值
主要介绍vue中计算属性将数据属性赋为未定义的原因。通过示例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
目录
场景:原因:initializing _init in _init是做什么的?在initState()解决方案中做了这些事情:
场景:
我在computed中返回值,然后将它直接复制到data中的另一个属性。结果中的属性值未定义…
代码示例:
计时器未定义…
原因:
这里很容易想到执行顺序。computed中的属性和data中的属性最终将被加载到app的这个实例中。如果创建了数据中的实例属性,但没有创建计算中的实例属性,显然,数据中获取的计算中的属性必须是未定义的…
我们来看看new vue的执行顺序。
_init中初始化
功能Vue(选项){
if (process.env.NODE_ENV!==生产
!(这是Vue的例子)
) {
warn(Vue是一个构造函数,应该用 new 关键字调用)
}
这个。_init(options) //初始化每个函数
}
_init中做了什么?
初始生命周期(虚拟机)
初始化事件(虚拟机)
初始化渲染(虚拟机)
callHook(虚拟机,“创建前”)
initInjections(vm) //在数据/属性之前解析注入
Initialize init (VM)//,initState()介于beforeCreate和created之间
initProvide(vm) //在数据/属性之后解析提供
callHook(虚拟机,“已创建”)
在initState()做了这些事情
如果(opts。Props) init props (VM,opts . props)//初始化属性
If (opts.methods) init方法(VM,opts . methods)//初始化方法
if (opts.data) {
initData(vm)} else {
观察(vm。_ data={},true/* asroot data */)}//初始化数据
if(opts . computed)init computed(VM,opts . computed)//初始化计算的
从执行顺序中我们不难得出结论,初始化data在初始化computed之前。
此外,Props、方法、数据和computed的初始化在beforeCreated和Created之间完成。
解决办法 :
直接在computed中给数据中的属性赋值,因为此时数据已经初始化。
关于vue中computed属性将data属性赋给undefined值的原因,本文到此为止。有关vue数据属性的赋值给未定义值的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。