内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot

一、組件間的數(shù)據(jù)傳遞

在通化縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),通化縣網(wǎng)站建設(shè)費用合理。

1.父組件獲取子組件的數(shù)據(jù)

*子組件把自己的數(shù)據(jù),發(fā)送到父級

*vm.$emit(事件名,數(shù)據(jù));

*v-on: @

示例用法:當(dāng)點擊send按鈕的時候,“111”變成“我是子組件的數(shù)據(jù)”

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>父級獲取子級的數(shù)據(jù)</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <style>
  </style>
</head>
<body>
<div>
  <aaa>
  </aaa>
</div>
<template>
  <span>我是父級 -> {{msg}}</span>
  //自動調(diào)用get方法,@child-msg和下面的this.$emit('child-msg',this.a)相對應(yīng)
  <bbb @child-msg="get"></bbb>
</template>
<template>
  <h4>子組件-</h4>
  <input type="button" value="send" @click="send">
</template>
<script>
  var vm=new Vue({
    el:'#box',
    data:{
      a:'aaa'
    },
    components:{
      'aaa':{
        data:function(){
          return {
            msg:111,
            msg2:'我是父組件的數(shù)據(jù)'
          }
        },
        template:'#aaa',
        methods:{
          //這里的msg實際上就是子組件傳遞給父組件的數(shù)據(jù)
          get:function(msg){
            this.msg=msg;
          }
        },
        components:{
          'bbb':{
            data:function(){
              return {
                a:'我是子組件的數(shù)據(jù)'
              }
            },
            template:'#bbb',
            methods:{
              send:function(){
                this.$emit('child-msg',this.a);
              }
            }
          }
        }
      }
    }
  });
</script>
</body>
</html>

2、子組件獲取父組件的數(shù)據(jù)

在調(diào)用子組件:

<bbb :m="數(shù)據(jù)"></bbb>

子組件之內(nèi):

props:['m','myMsg']
props:{
'm':String,
'myMsg':Number
        }

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>自己獲取父級的數(shù)據(jù)</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <style>
  </style>
</head>
<body>
<div>
  <div>{{a}}</div>
  <aaa>
    {{msg}}
  </aaa>
</div>

<template>
  <h2>11111</h2>
  <bbb :mmm="msg2" :my-msg="msg"></bbb>
</template>
<script>
  var vm=new Vue({
    el:'#box',
    data:{
      a:'a'
    },
    components:{
      'aaa':{
        data:function(){
          return {
            msg:111,
            msg2:'我是父組件的數(shù)據(jù)'
          }
        },
        template:'#aa',
        components:{
          'bbb':{
            props:{
              'mmm':String,
              'myMsg':Number
            },
            template:'<h4>我是bbb組件->{{mmm}} <br> {{myMsg}}</h4>'
          }
        }
      }
    }
  });

</script>
</body>
</html>

運行結(jié)果:

詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot

二、內(nèi)容分發(fā):

Vue.js提供了一種混合父組件內(nèi)容與子組件自己模版的方式:slot,用來占一個位置

1、基本用法 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>slot保留原來的位置</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <style>
  </style>

</head>
<body>
<div>
  <aaa>
    <ul>
      <li>1111</li>
      <li>2222</li>
      <li>3333</li>
    </ul>
  </aaa>
  <hr>
  <aaa>
  </aaa>
</div>
<template>
  <h2>xxxx</h2>
  <slot>這是默認的情況</slot>
  <p>welcome vue</p>
</template>

<script>
  var vm=new Vue({
    el:'#box',
    data:{
      a:'aaa'
    },
    components:{
      'aaa':{
        template:'#aaa'
      }
    }
  });

</script>
</body>
</html>

運行結(jié)果:ul標(biāo)簽里面的內(nèi)容沒有被覆蓋,如果不使用slot,ul標(biāo)簽里的內(nèi)容將會被覆蓋

詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot

2、slot的name屬性 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>slot中name屬性的使用</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <style>
  </style>
</head>
<body>
<div>
  <aaa>
    <ul slot="ul-slot">    //這里slot的名字要與下面slot中name屬性相對應(yīng)
      <li>1111</li>
      <li>2222</li>
      <li>3333</li>
    </ul>
    <ol slot="ol-slot">    //用法同上
      <li>111</li>
      <li>222</li>
      <li>333</li>
    </ol>
  </aaa>
  <hr>
  <aaa>
  </aaa>
</div>
<template>  
  <h2>xxxx</h2>
  <slot name="ol-slot">這是默認的情況</slot>      //設(shè)置name屬性,給slot命名
  <p>welcome vue</p>
  <slot name="ul-slot">這是默認的情況2</slot>
</template>

<script>
  var vm=new Vue({
    el:'#box',
    data:{
      a:'aaa'
    },
    components:{
      'aaa':{
        template:'#aaa'
      }
    }
  });

</script>
</body>
</html>

 運行結(jié)果:

詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot

網(wǎng)頁名稱:詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot
文章轉(zhuǎn)載:http://m.rwnh.cn/article16/gdiegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化網(wǎng)站排名、服務(wù)器托管、品牌網(wǎng)站設(shè)計網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
定西市| 聂拉木县| 北碚区| 渝北区| 甘南县| 津市市| 龙里县| 三明市| 梁山县| 昂仁县| 赤峰市| 西林县| 涿州市| 漳浦县| 沿河| 石门县| 顺平县| 四子王旗| 准格尔旗| 林甸县| 宁明县| 淳化县| 大理市| 齐河县| 泸州市| 东山县| 博湖县| 祁连县| 黔南| 灵山县| 威信县| 霞浦县| 噶尔县| 新沂市| 海口市| 津南区| 图片| 新郑市| 神木县| 咸丰县| 鲁甸县|