vue學(xué)習(xí)篇2之?dāng)?shù)據(jù)存儲與組件間通信

一蹬碧、存儲數(shù)據(jù)文件

當(dāng)前操作的數(shù)據(jù)在刷新或關(guān)閉瀏覽器之后,需要數(shù)據(jù)還是當(dāng)前的數(shù)據(jù)履恩,就要緩存數(shù)據(jù)锰茉。
存儲有兩方面:1.緩存在內(nèi)存。2.緩存為文件切心。
存在內(nèi)存的話瀏覽器關(guān)閉后會沒有飒筑,而文件不會
localStorage本地存儲,存儲為文件绽昏。
存儲需要知道存的什么東西协屡?什么時候存?什么時候讀全谤?
1).存界面想要展示的數(shù)據(jù)
2).只要界面的數(shù)據(jù)發(fā)生了改變時刻存肤晓。(比如刪除、添加、修改等等)
3).一上來顯示就要讀补憾,一打開就要讀

data () {
  return {
    //從localStorage讀取數(shù)據(jù)
    todos: JSON.parse(window.localStorage.getItem('todos_key') || '[]')
    //localStorage存的時候以一個key對應(yīng)一個value的形式存的漫萄,而且存的是文本字符串,拿到數(shù)據(jù)后要轉(zhuǎn)換為數(shù)組盈匾,沒有值就解析'[]'
  }
}

當(dāng)數(shù)據(jù)發(fā)生改變就需要存儲腾务,需要用到深度監(jiān)視,監(jiān)視數(shù)據(jù)的改變削饵。為什么需要深度監(jiān)視呢岩瘦?因為只要內(nèi)部發(fā)生變化都可以知道,而一般監(jiān)視只能監(jiān)視最外層窿撬。

watch: {
  todos: {
    deep: true,
    handler: function(newValue, oldValue) {
      //將todos最新值的json格式字符串启昧,保存到localStorage里。todos_key是鍵劈伴,鍵可以隨便命名密末,但存的鍵和取的鍵名字一定要一致,存的值也必須是轉(zhuǎn)換為json字符串
      window.localStorage.setItem('todos_key', JSON.stringify(newValue))
    }
  }
}
二宰啦、組件間通信

1苏遥、props
父組件

<div>
 //引入的子組件
  <CommentHead :data='data' :addClick='addClick'></CommentHead>
</div>
export default{
  data () {
    return {
      data: [{a: 1}, {b: 2}]
    }
  },
  methods: {
    addClick(obj){
      this.data=this.data.push(obj)
    }
  }
}

子組件里接收父組件傳過來的數(shù)據(jù)與方法

export default{
  props:{
    data: Array,
    addClick: Function
  },
  methods:{
    addItem(){
      let obj={c:3}
      this.addClick(obj)
    }
  }
}

2、vue的自定義事件
自定義事件有兩方面:1.父組件綁定監(jiān)聽赡模。2.子組件觸發(fā)(分發(fā))事件田炭。
綁定監(jiān)聽有兩種方法:
方法一:

//父組件
<div>
  //給CommentHead組件綁定addClick事件監(jiān)聽
  <CommentHead @addClick='addClick'></CommentHead>
</div>

methods:{
  addClick(obj){
    this.data=this.data.push(obj)
  }
}


//子組件
methods:{
  addItem(){
    let obj={c:3}
    this.$emit('addClick', obj)  //子組件觸發(fā)事件回調(diào)
  }
}

方法二:

//父組件
<div>
  <CommentHead ref='head'></CommentHead>
</div>

export default{
  methods:{
    addClick(obj){
      this.data=this.data.push(obj)
    }
  },
  mounted(){
    //給CommentHead組件綁定事件監(jiān)聽
    this.$refs.head.$on('addClick', this.addClick)
  }
}

//子組件
methods:{
  addItem(){
    let obj={c:3}
    this.$emit('addClick', obj)  //子組件觸發(fā)事件回調(diào)
  }
}

自定義事件專門用于父子組件之間傳遞,用來代替函數(shù)屬性漓柑。不適合父組件里有子組件教硫,子組件里還有子組件的這種多層嵌套。

3辆布、slot插槽(占位)
用于父組件像子組件傳遞標(biāo)簽數(shù)據(jù)瞬矩。

//子組件
<template>
  <div>
    <slot name='head'>不確定的標(biāo)簽結(jié)構(gòu)1</slot>
    <slot name='content'>不確定的標(biāo)簽結(jié)構(gòu)2</slot>
  </div>
</template>
//name屬性表示占位之間的唯一標(biāo)識名字

//父組件
<div>
  //引入子組件
  <child>
    <div>
      <div slot='head'>head對應(yīng)的標(biāo)簽數(shù)據(jù)</div>
      <div slot='content'>content對應(yīng)的標(biāo)簽數(shù)據(jù)</div>
    </div>
  </child>
</div>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锋玲,隨后出現(xiàn)的幾起案子景用,更是在濱河造成了極大的恐慌,老刑警劉巖惭蹂,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伞插,死亡現(xiàn)場離奇詭異,居然都是意外死亡盾碗,警方通過查閱死者的電腦和手機(jī)媚污,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來廷雅,“玉大人耗美,你說我怎么就攤上這事京髓。” “怎么了商架?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵堰怨,是天一觀的道長。 經(jīng)常有香客問我甸私,道長诚些,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任皇型,我火速辦了婚禮,結(jié)果婚禮上砸烦,老公的妹妹穿的比我還像新娘弃鸦。我一直安慰自己,他們只是感情好幢痘,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布唬格。 她就那樣靜靜地躺著,像睡著了一般颜说。 火紅的嫁衣襯著肌膚如雪购岗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天门粪,我揣著相機(jī)與錄音喊积,去河邊找鬼。 笑死玄妈,一個胖子當(dāng)著我的面吹牛乾吻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拟蜻,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼绎签,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酝锅?” 一聲冷哼從身側(cè)響起诡必,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搔扁,沒想到半個月后爸舒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡阁谆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年碳抄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片场绿。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡剖效,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情璧尸,我是刑警寧澤咒林,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站爷光,受9級特大地震影響垫竞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛀序,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一欢瞪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧徐裸,春花似錦遣鼓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至气笙,卻和暖如春次企,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潜圃。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工缸棵, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秉犹。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓蛉谜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崇堵。 傳聞我的和親對象是個殘疾皇子型诚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容