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

詳解vue中的父子傳值雙向綁定及數據更新問題

 更新時間:2019年06月13日 08:25:33   作者:ZJW0215  
這篇文章主要介紹了vue中的父子傳值雙向綁定及數據更新問題,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在進行父子組件傳值時,用到子組件直接控制父組件中的變量值以及在vue中直接更改對象或者數組的值,視圖未發(fā)生變化的解決辦法,當時完成項目時,一直未找到原因,修改了好久。

1.父子組件傳值雙向綁定

在傳遞給子組件中的變量上使用.sync修飾符,就能夠實現父子傳值的雙向綁定

<!-- 父組件 -->
<template>
 <div class="audioCate">
 <child :show.sync="showModel" @closeModel="handleCloseModel"></child>
 </div>
</template>
<script>
 import child from './child'
 export default{
 components: {
  child,
 }
 data() {
  return {
  showModel: false
  }
 },
 methods: {
  handleCloseModel() {
  this.showModel = false;
  }
 }
 }
</script>
<!-- 子組件 -->
<template>
 <div class="cate" @click="handleClick">
 <div></div>
 </div>
</template>
<script>
 export default{
 props: {
  show: Boolean,
 },
 data() {
  return {
  showModel: false
  }
 },
 methods: {
  handleClick() {
  /* 直接更新父組件中的showModel值 */
  this.$emit('update:show', false);
  /* 或者調用父組件中的方法對showModel進行更改 */
  /* this.$emit('closeModel'); */
  }
 }
 }
</script>

2.修改對象或數組中的鍵,視圖未發(fā)生變化

使用$set方法進行修改,官方文檔中也有說明


當時我是直接對數組中的值進行修改,但是視圖沒有發(fā)生變化

<script>
 export default{
 data() {
  return {
  item: {
   title: '222'
  },
  options: [11, 22],
  list: [
   {
   title: '2222'
   }
  ]
  }
 },
 created() {
  /* 對于對象,第一個為要修改的對象,第二個參數為對象的鍵,第三個為要修改的鍵對應的值 */
  this.$set(this.item, 'title', '2200');
  /* 對于對象,第一個為要修改的數組,第二個參數為數組索引,第三個為要修改的索引對應的值 */
  this.$set(this.options, 0, 33);
  /* 對于數組里包含對象,可以利用循環(huán)對其進行修改 */
  this.list.forEach(item => {
  this.$set(item, '_disableExpand', true);
  });
  /* 對于數組里包含對象,也可以利用Object.assign對其進行修改 */
  this.list[0] = Object.assign({}, this.list[0], { num: 10 });
  this.$set(this.list, 0, this.list[0]);
 },
 }
</script>

也可以直接進行修改后對頁面進行強制刷新,使用$forceUpdate()方法

this.options[0] = 100;
this.$forceUpdate();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • element如何初始化組件功能詳解

    element如何初始化組件功能詳解

    Element UI是一套基于Vue的桌面端組件庫,封裝好了很多常用的UI組件,下面這篇文章主要給大家介紹了關于element如何初始化組件功能的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Vue原理剖析 實現雙向綁定MVVM

    Vue原理剖析 實現雙向綁定MVVM

    這篇文章主要為大家剖析了Vue原理,實現雙向綁定MVVM,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    這篇文章主要介紹了如何解決d3.event在v7版本無效影響zoom拖拽縮放問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • VUE+Express+MongoDB前后端分離實現一個便簽墻

    VUE+Express+MongoDB前后端分離實現一個便簽墻

    這篇文章主要介紹了VUE+Express+MongoDB前后端分離實現一個便簽墻,需要的朋友可以參考下
    2021-04-04
  • Vue3使用echarts繪制儀表盤

    Vue3使用echarts繪制儀表盤

    這篇文章主要為大家學習介紹了Vue3如何使用echarts實現繪制儀表盤,文中的示例代碼積極學習,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-07-07
  • Vue中利用better-scroll組件實現橫向滾動功能

    Vue中利用better-scroll組件實現橫向滾動功能

    橫向滾動這個功能是我們日常開發(fā)中經常會遇到的一個需求,下面這篇文章主要給大家介紹了關于Vue中如何利用better-scroll組件實現橫向滾動的相關資料,需要的朋友可以參考下
    2021-06-06
  • 在vue項目中安裝使用Mint-UI的方法

    在vue項目中安裝使用Mint-UI的方法

    Mint UI 是 由餓了么前端團隊推出的 一個基于 Vue.js 的移動端組件庫,下面通過本文給大家介紹在vue項目中安裝使用Mint-UI的方法,需要的朋友參考下吧
    2017-12-12
  • 在vue-cli項目中使用bootstrap的方法示例

    在vue-cli項目中使用bootstrap的方法示例

    本篇文章主要介紹了在vue-cli項目中使用bootstrap的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 基于Vue3和Plotly.js實現交互式3D圖

    基于Vue3和Plotly.js實現交互式3D圖

    這篇文章主要介紹了基于Vue3和Plotly.js實現交互式3D圖,本代碼旨在為數據可視化提供一個交互式圖表,允許用戶動態(tài)控制圖表中線條的顏色和可見性,此功能對于探索大型數據集或突出特定數據子集非常有用,需要的朋友可以參考下
    2024-07-07
  • axios取消請求CancelToken的用法示例代碼

    axios取消請求CancelToken的用法示例代碼

    Axios提供了取消請求的功能,可以通過使用CancelToken來實現,這篇文章主要給大家介紹了關于axios取消請求CancelToken的用法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10

最新評論