中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

前端與移動開發之vue-day4(1)

發布時間:2020-04-08 20:33:23 來源:網絡 閱讀:182 作者:我是小谷粒 欄目:開發技術

父組件向子組件傳值
組件實例定義方式,注意:一定要使用props屬性來定義父組件傳遞過來的數據

<script>
    // 創建 Vue 實例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        msg: '這是父組件中的消息'
      },
      components: {
        son: {
          template: '<h2>這是子組件 --- {{finfo}}</h2>',
          props: ['finfo']
        }
      }
    });
  </script>
使用v-bind或簡化指令,將數據傳遞到子組件中:

<div id="app">
    <son :finfo="msg"></son>
  </div>

子組件向父組件傳值
原理:父組件將方法的引用,傳遞到子組件內部,子組件在內部調用父組件傳遞過來的方法,同時把要發送給父組件的數據,在調用方法的時候當作參數傳遞進去;
父組件將方法的引用傳遞給子組件,其中,getMsg是父組件中methods中定義的方法名稱,func是子組件調用傳遞過來方法時候的方法名稱

<son @func="getMsg"></son>
子組件內部通過this.$emit('方法名', 要傳遞的數據)方式,來調用父組件中的方法,同時把數據傳遞給父組件使用

<div id="app">
    <!-- 引用父組件 -->
    <son @func="getMsg"></son>

    <!-- 組件模板定義 -->
    <script type="x-template" id="son">
      <div>
        <input type="button" value="向父組件傳值" @click="sendMsg" />
      </div>
    </script>
  </div>

  <script>
    // 子組件的定義方式
    Vue.component('son', {
      template: '#son', // 組件模板Id
      methods: {
        sendMsg() { // 按鈕的點擊事件
          this.$emit('func', 'OK'); // 調用父組件傳遞過來的方法,同時把數據傳遞出去
        }
      }
    });

    // 創建 Vue 實例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {},
      methods: {
        getMsg(val){ // 子組件中,通過 this.$emit() 實際調用的方法,在此進行定義
          alert(val);
        }
      }
    });
  </script>
組件中data和props的區別評論列表案例
目標:主要練習父子組件之間傳值
使用 this.$refs 來獲取元素和組件

<div id="app">
   <div>
     <input type="button" value="獲取元素內容" @click="getElement" />
     <!-- 使用 ref 獲取元素 -->
     <h2 ref="myh2">這是一個大大的H1</h2>

     <hr>
     <!-- 使用 ref 獲取子組件 -->
     <my-com ref="mycom"></my-com>
   </div>
 </div>

 <script>
   Vue.component('my-com', {
     template: '<h6>這是一個子組件</h6>',
     data() {
       return {
         name: '子組件'
       }
     }
   });

   // 創建 Vue 實例,得到 ViewModel
   var vm = new Vue({
     el: '#app',
     data: {},
     methods: {
       getElement() {
         // 通過 this.$refs 來獲取元素
         console.log(this.$refs.myh2.innerText);
         // 通過 this.$refs 來獲取組件
         console.log(this.$refs.mycom.name);
       }
     }
   });
 </script>
向AI問一下細節

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

AI

黎城县| 会昌县| 咸丰县| 临汾市| 西乌珠穆沁旗| 象州县| 定安县| 如皋市| 中山市| 泰安市| 民和| 登封市| 阿尔山市| 台东市| 桓台县| 青海省| 微山县| 疏附县| 遵化市| 肇州县| 潮州市| 荣昌县| 策勒县| 通道| 泾阳县| 精河县| 成安县| 镇赉县| 蛟河市| 普陀区| 什邡市| 信阳市| 阜城县| 潮州市| 嘉定区| 革吉县| 安庆市| 谢通门县| 定远县| 屯门区| 泰宁县|