vue computed 赋值,vue修改computed属性值

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: