最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談vue中computed屬性對data屬性賦值為undefined的原因

 更新時間:2022年02月22日 10:21:20   作者:Oralinge  
本文主要介紹了淺談vue中computed屬性對data屬性賦值為undefined的原因,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

場景:

我在computed中return了一個值,然后在data中直接將它復(fù)制給另一個屬性。結(jié)果data中的屬性值為undefined…

代碼示例

在這里插入圖片描述

timer為undefined…

原因:

在這里很容易想到是執(zhí)行順序的問題,computed中的屬性和data中的屬性最終都會加載到app這個實例下。如果data中的實例屬性被創(chuàng)建完成的時候,computed中的實例屬性還沒被創(chuàng)建,很明顯,在data中獲取到computed中的屬性必定是undefined…

下面看一下new vue的時候,它的執(zhí)行順序

_init中初始化

function Vue (options) {
if (process.env.NODE_ENV !== 'production' &&
  !(this instanceof Vue)
) {
  warn('Vue is a constructor and should be called with the `new` keyword')
}
this._init(options) //初始化各個功能
}

_init中做了什么?

  initLifecycle(vm)
  initEvents(vm)
  initRender(vm)
  callHook(vm, 'beforeCreate')
  initInjections(vm) // resolve injections before data/props
  initState(vm) //初始化,initState()是在beforeCreate和created之間
  initProvide(vm) // resolve provide after data/props
  callHook(vm, 'created')

在initState()做了這些事情

if (opts.props) initProps(vm, opts.props)//初始化Props
if (opts.methods) initMethods(vm, opts.methods)//初始化methods
if (opts.data) {
  initData(vm)} else {
  observe(vm._data = {}, true /* asRootData */)}//初始化data
if (opts.computed) initComputed(vm, opts.computed)//初始化computed

從執(zhí)行順序中我們不難得出結(jié)論,初始化data在初始化computed之前。

另外,Props,methods,data和computed的初始化都是在beforeCreated和created之間完成的

解決辦法

直接在computed中對data中的屬性賦值,因為此時data已經(jīng)初始化。

到此這篇關(guān)于淺談vue中computed屬性對data屬性賦值為undefined的原因的文章就介紹到這了,更多相關(guān)vue data屬性賦值為undefined內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 分享Vue子組件接收父組件傳值的3種方式

    分享Vue子組件接收父組件傳值的3種方式

    這篇文章主要給大家分享的是Vue子組件接收父組件傳值的3種方式,主要通過聲明接收、接收數(shù)據(jù)的同時進(jìn)行?類型限制、接收數(shù)據(jù)的同時對?數(shù)據(jù)類型、必要性、默認(rèn)值?進(jìn)行限制相關(guān)內(nèi)容展開更多詳細(xì)的相關(guān)資料,需要的小伙伴可以參考一下
    2022-03-03
  • 基于Vue3+Three.js實現(xiàn)一個3D模型可視化編輯系統(tǒng)

    基于Vue3+Three.js實現(xiàn)一個3D模型可視化編輯系統(tǒng)

    這篇文章主要介紹了基于Vue3+Three.js實現(xiàn)一個3D模型可視化編輯系統(tǒng),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Vue使用NProgress進(jìn)度條的方法

    Vue使用NProgress進(jìn)度條的方法

    這篇文章主要為大家詳細(xì)介紹了Vue使用NProgress進(jìn)度條的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Vue仿今日頭條實例詳解

    Vue仿今日頭條實例詳解

    這篇文章主要介紹了Vue仿今日頭條實例詳解,并把相關(guān)代碼做了說明,對此有興趣的朋友參考下吧。
    2018-02-02
  • 基于Vue el-autocomplete 實現(xiàn)類似百度搜索框功能

    基于Vue el-autocomplete 實現(xiàn)類似百度搜索框功能

    本文通過代碼給大家介紹了Vue el-autocomplete 實現(xiàn)類似百度搜索框功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • vue實現(xiàn)商品多選功能

    vue實現(xiàn)商品多選功能

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)商品多選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue3實現(xiàn)父組件提交校驗多個子組件

    vue3實現(xiàn)父組件提交校驗多個子組件

    這篇文章主要為大家詳細(xì)介紹了vue3如何實現(xiàn)父組件在提交事件中校驗多個子組件中的form件,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下
    2023-11-11
  • vue 防止頁面加載時看到花括號的解決操作

    vue 防止頁面加載時看到花括號的解決操作

    這篇文章主要介紹了vue 防止頁面加載時看到花括號的解決操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 深入了解Vue組件七種通信方式

    深入了解Vue組件七種通信方式

    vue組件通信的方式,這是在面試中一個非常高頻的問題。其實Vue組件的通信方式除了props和?$emit還有很多,本文將對vue組件通信方式進(jìn)行一下總結(jié),感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • Vue學(xué)習(xí)筆記進(jìn)階篇之vue-router安裝及使用方法

    Vue學(xué)習(xí)筆記進(jìn)階篇之vue-router安裝及使用方法

    本篇文章主要介紹了Vue學(xué)習(xí)筆記進(jìn)階篇之vue-router安裝及使用方法,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07

最新評論

田林县| 崇明县| 临猗县| 区。| 蓝山县| 台安县| 高碑店市| 阿合奇县| 崇州市| 鹤庆县| 柳州市| 惠东县| 青海省| 洛浦县| 三亚市| 泌阳县| 扎兰屯市| 锡林浩特市| 股票| 淅川县| 晴隆县| 永寿县| 习水县| 固镇县| 陕西省| 突泉县| 防城港市| 平乡县| 英吉沙县| 广平县| 徐水县| 宁夏| 长兴县| 肇东市| 平舆县| 晋城| 江西省| 肇源县| 南溪县| 垦利县| 巧家县|