欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中如何定義數(shù)據(jù)示例詳解

 更新時(shí)間:2021年09月24日 12:42:21   作者:Nordon  
這篇文章主要給大家介紹了關(guān)于Vue中如何定義數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

在開發(fā)的過程中,定義變量是一件非常高頻且十分基礎(chǔ)的事情,如何合理的根據(jù)變量的使用場景和作用域范圍進(jìn)行定義變量,是一件很小缺很容易犯錯(cuò)的事情

Vue2已經(jīng)流行使用了這么多年,多數(shù)開發(fā)者在開發(fā)過程中喜愛在data選項(xiàng)中梭哈定義很多變量,這樣做非常不利于代碼的閱讀性、維護(hù)性和性能,想要很好的使用變量,需要結(jié)合Vue和JS的特性

在Vue中,按照是否需要雙向數(shù)據(jù)綁定,可以將變量分為兩種:

一種是需要被Vue的數(shù)據(jù)劫持,將data的變化實(shí)時(shí)響應(yīng)到view上

只要data只能夠的msg變化, template中綁定的msg會(huì)實(shí)時(shí)響應(yīng)

<template>
  <div>{{msg}}</div>
</template>

<script>
export default {
  data() {
    msg: "" 
  }
};
</script>

還有一種不需要被Vue數(shù)據(jù)劫持:

僅在script中生效,在template中沒有使用,不需要數(shù)據(jù)劫持

name僅在concatName函數(shù)中生效,那么將其作為局部變量定義即可

age在函數(shù)getAge和concatName中都需要使用,作為局部變量使用不合適,那么可以將其作用域提升,方便在多個(gè)地方使用

<script>
const age = 'bar'
export default {
  methods: {
    getAge() {
      return age
    },
    concatName() {
      let name = 'nordon'
      reutrn `name:${name}, age: ${age} `
    }
  },
};
</script>

僅僅是在template中作為渲染數(shù)據(jù)使用,自定義之后便不會(huì)在后續(xù)的操作中對其修改,這種數(shù)據(jù)如果使用Vue對其數(shù)據(jù)劫持會(huì)浪費(fèi)一些性能

<template>
  <div v-for="item in arr">{{item.name}}</div>
</template>

<script>
const arr = Object.freeze([{
  name: 'nordon',
  age: 18
}])
export default {
  data() {
    return {
      arr
    }
  }
};
</script>

使用Object.freeze將不需要數(shù)據(jù)劫持的數(shù)據(jù)進(jìn)行凍結(jié)操作,在Vue中遞歸遍歷數(shù)據(jù)進(jìn)行數(shù)據(jù)劫持的時(shí)候便不會(huì)對其進(jìn)行數(shù)據(jù)劫持,特別對于大量的表格類的數(shù)據(jù)性能提升會(huì)顯著一些

可以從Vue源碼中看到,為何使用了Object.freeze對數(shù)據(jù)處理之后,便不會(huì)再進(jìn)行數(shù)據(jù)劫持

function defineReactive (obj, key) {
  // 刪除無關(guān)代碼 只保留了判斷條件
  const property = Object.getOwnPropertyDescriptor(obj, key)
  if (property && property.configurable === false) {
    return
  }
}

總結(jié)

到此這篇關(guān)于Vue中如何定義數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Vue定義數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue如何使用本地JSON文件

    Vue如何使用本地JSON文件

    這篇文章主要介紹了Vue如何使用本地JSON文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue?入口與?initGlobalAPI實(shí)例剖析

    Vue?入口與?initGlobalAPI實(shí)例剖析

    這篇文章主要為大家介紹了Vue?入口與?initGlobalAPI實(shí)例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • vue實(shí)現(xiàn)簡單的購物車功能

    vue實(shí)現(xiàn)簡單的購物車功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡單的購物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • iview實(shí)現(xiàn)圖片上傳功能

    iview實(shí)現(xiàn)圖片上傳功能

    這篇文章主要為大家詳細(xì)介紹了iview實(shí)現(xiàn)圖片上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 使用vue2實(shí)現(xiàn)帶地區(qū)編號(hào)和名稱的省市縣三級聯(lián)動(dòng)效果

    使用vue2實(shí)現(xiàn)帶地區(qū)編號(hào)和名稱的省市縣三級聯(lián)動(dòng)效果

    我們知道省市區(qū)縣都有名稱和對應(yīng)的數(shù)字唯一編號(hào),使用編號(hào)可以更方便查詢以及程序處理,我們今天來了解一下使用vue2來實(shí)現(xiàn)常見的省市區(qū)下拉聯(lián)動(dòng)選擇效果,需要的朋友可以參考下
    2018-11-11
  • vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能示例代碼

    vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能示例代碼

    這篇文章主要介紹了vue?elementui?實(shí)現(xiàn)圖片上傳后拖拽排序功能,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • element帶輸入建議el-autocomplete的使用

    element帶輸入建議el-autocomplete的使用

    本文主要介紹了element帶輸入建議el-autocomplete的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue2 中如何實(shí)現(xiàn)動(dòng)態(tài)表單增刪改查實(shí)例

    vue2 中如何實(shí)現(xiàn)動(dòng)態(tài)表單增刪改查實(shí)例

    本篇文章主要介紹了vue2 中如何實(shí)現(xiàn)動(dòng)態(tài)表單增刪改查實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Vue2中使用tailwindCss的詳細(xì)教程

    Vue2中使用tailwindCss的詳細(xì)教程

    Tailwind CSS是一個(gè)流行的前端CSS框架,它基于原子設(shè)計(jì)原則,提供了一套預(yù)構(gòu)建的CSS樣式類,旨在幫助開發(fā)者快速地創(chuàng)建響應(yīng)式、可定制的用戶界面,本文給大家介紹了Vue2中使用tailwindCss的詳細(xì)教程,需要的朋友可以參考下
    2024-09-09
  • Vue路由之JWT身份認(rèn)證的實(shí)現(xiàn)方法

    Vue路由之JWT身份認(rèn)證的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue路由之JWT身份認(rèn)證的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論