亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue props 單項數據流實例分享

發布時間:2020-09-13 15:31:44 來源:腳本之家 閱讀:149 作者:shysun 欄目:web開發

vue props 單項數據流實例分享

父組件傳遞動態值showStoreList,子組件通過props接收,但是如果在子組件中直接使用并修改這個值會報錯;

因為父級的更新會傳遞給子組件,但是反過來則不行;

這種情況下,可以使用computed或watch來獲取props中的值

vue props 單項數據流實例分享

以上實例不難,下面由億速云小編整理的補充內容:

Vue2.x通過props傳遞數據是單向的了,也就是父組件數據變化時會傳遞給子組件,但是反過來不行。

業務中會經常遇到兩種需要改變prop的情況,

一種是父組件傳遞初始值進來,子組件將它作為初始值保存起來,在自己的作用域下可以隨意使用和修改。這種情況可以在組件data內再聲明一個數據,引用父組件的prop,示例代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./vue.js"></script>
</head>
<body>
  <div id="app">
    <my-component :init-count="1"></my-component>
  </div>
  <script>
    Vue.component('my-component',{
      props:['init-count'],
      template:'<div>{{count}}</div>',
      data:function(){
        return {
          count:this.initCount
        }
      }
    })
    new Vue({
      el:'#app',
    })
  </script>
</body>
</html>

組件中聲明了數據count,它在組件初始化時會獲取來自父組件的initCount,之后就與之無關了,只用維護count,這樣就可以避免直接操作initCount。

另一種情況就是prop作為需要被轉變的原始值傳入。這種情況用計算屬性就可以了,示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./vue.js"></script>
</head>
<body>
  <div id="app">
    <mynew-component :width="100"></mynew-component>
  </div>
  <script>
    Vue.component('mynew-component',{
      props:['width'],
      template:'<div :>組件內容</div>',
      computed:{
        style:function(){
          return {
            width:this.width+'px',
            background:'lightgray',
            textAlign:'center'
          }
        }
      }
    })
    new Vue({
      el:'#app',
    })
  </script>
</body>
</html>

注意:

在JavaScript中對象和數組是引用類型,指向同一個內存空間,所以props是對象和數組時,在子組件內改變是會影響父組件的。

//如此解決引用傳遞

1:var newObject = jQuery.extend(true, {}, oldObject);

2:var obj={};

obj=JSON.parse(JSON.stringify(oldObject));

以上就是本次介紹地全部相關知識點,感謝大家的學習和對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁夏| 南木林县| 秦安县| 老河口市| 中山市| 手机| 芦溪县| 东海县| 九龙城区| 宜阳县| 泾川县| 简阳市| 额敏县| 博罗县| 启东市| 孙吴县| 定陶县| 樟树市| 越西县| 建水县| 宜兴市| 苗栗县| 伊金霍洛旗| 米林县| 裕民县| 和静县| 新晃| 商南县| 科技| 沙田区| 轮台县| 瑞丽市| 水城县| 穆棱市| 洪洞县| 长治市| 化德县| 宕昌县| 理塘县| 新宁县| 宁武县|