最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue組件Prop傳遞數(shù)據(jù)的實現(xiàn)示例

 更新時間:2017年08月17日 10:11:50   作者:街角小七  
本篇文章主要介紹了vue組件Prop傳遞數(shù)據(jù)的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

組件實例的作用域是孤立的。這意味著不能(也不應(yīng)該)在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。要讓子組件使用父組件的數(shù)據(jù),我們需要通過子組件的props選項。

prop 是單向綁定的:當父組件的屬性變化時,將傳導(dǎo)給子組件,但是不會反過來。這是為了防止子組件無意修改了父組件的狀態(tài)。

每次父組件更新時,子組件的所有 prop 都會更新為最新值。這意味著你不應(yīng)該在子組件內(nèi)部改變 prop。

1、Prop靜態(tài)傳遞數(shù)據(jù)

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="vue.js"></script>

</head>
<body >
<div id="app">
  <!--靜態(tài)傳遞數(shù)據(jù)-->
   <my-component message="hello" name="劉二狗" age="18"></my-component>
</div>
</body>

<script>
  Vue.component('my-component',{
    //子組件使用父組件的數(shù)據(jù) message name age
    props:['message','name','age'],
    //用data選項對數(shù)據(jù)進行處理
    data:function(){
     return{
       message1: this.message +'用data選項對數(shù)據(jù)進行處理'
     }
    },
    //用計算屬性選項對數(shù)據(jù)進行處理
    computed:{
      message2:function(){
        return this.message + '用計算屬性選項對數(shù)據(jù)進行處理'
      }
    },
    template:'<div>' +
          '<span>{{message1}}</span><br>'+
          '<span>{{message2}}</span><br>'+
          '<span>{{message}} {{name}}今年{{age}}了</span><br>'+
         '</div>'
  })
  new Vue({
    el:'#app'
  })
</script>
</html>

輸出結(jié)果:

2、Prop動態(tài)傳遞數(shù)據(jù)

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="vue.js"></script>
</head>
<body >
<div id="app">
    <input v-model="parentMsg"><br>
    <my-component :message="parentMsg"></my-component>
</div>
</body>

  <script>
    Vue.component('my-component',{
      props:['message'],
      data:function(){
        return{count:this.message+'劉三狗的嫉妒了'}
      },
      computed:{
        normalizedSize: function () {
          return this.message.trim().toLowerCase()
        }
      },
      template:'<div>' +
            '<span>{{message}}---{{normalizedSize}}</span><br>'+
            '<span>{{count}}</span>'+
           '</div>'
    })

    new Vue({
      el:'#app',
      data:{
        parentMsg:'哈哈哈'
      }
    })
</script>
</html>


輸出結(jié)果:

 3、Prop驗證,我們可以為組件的 props 指定驗證規(guī)格。如果傳入的數(shù)據(jù)不符合規(guī)格,Vue 會發(fā)出警告。在前臺的控制器中可以看到警告信息。

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="vue.js"></script>
</head>
<body>
  <div id="app">
    <example :prop-d="message"></example>
  </div>
</body>

<script>
  Vue.component('example', {
    props: {
      // 基礎(chǔ)類型檢測 (`null` 意思是任何類型都可以)
      propA: Number,
      // 多種類型
      propB: [String, Number],
      // 必傳且是字符串
      propC: {
        type: String,
        required: true
      },
      // 數(shù)字,有默認值
      propD: {
        type: Number,
        default: 100
      },
      // 數(shù)組/對象的默認值應(yīng)當由一個工廠函數(shù)返回
      propE: {
        type: Object,
        default: function () {
          return { message: 'hello' }
        }
      },
      // 自定義驗證函數(shù)
      propF: {
        validator: function (value) {
          return value > 10
        }
      }
    },
    template:'<span>{{propD}}</span>'
  })

  new Vue({
    el:'#app',
    data:{
      message:'propD驗證只能傳入數(shù)字類型'
    }
  })
</script>
</html>

控制臺輸出的警告信息:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • VUE組件中的 Drawer 抽屜實現(xiàn)代碼

    VUE組件中的 Drawer 抽屜實現(xiàn)代碼

    這篇文章主要介紹了VUE組件 之 Drawer 抽屜 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • VUE中如何實現(xiàn)阻止事件冒泡

    VUE中如何實現(xiàn)阻止事件冒泡

    這篇文章主要介紹了VUE中如何實現(xiàn)阻止事件冒泡,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解Vue如何實現(xiàn)自定義動畫與動畫效果設(shè)計

    詳解Vue如何實現(xiàn)自定義動畫與動畫效果設(shè)計

    在Vue中,動畫效果是非常有用的,它可以使用戶界面變得更加生動、有趣,本文中我們將學(xué)習(xí)如何在Vue中進行自定義動畫與動畫效果設(shè)計,感興趣的可以了解一下
    2023-06-06
  • vue基于session和github-oauth2實現(xiàn)登錄注冊驗證思路詳解

    vue基于session和github-oauth2實現(xiàn)登錄注冊驗證思路詳解

    通過 sessionId 可以在 session 表中獲取用戶的信息,此外,還利用 session 表實現(xiàn)了GitHub 的 OAuth2 第三方登錄,本文講解前端通過簡單的方式實現(xiàn)一個基本的登錄注冊驗證功能,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Vue使用video標簽實現(xiàn)視頻播放

    Vue使用video標簽實現(xiàn)視頻播放

    這篇文章主要為大家詳細介紹了Vue使用video標簽實現(xiàn)視頻播放,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue3 + TypeScript 開發(fā)總結(jié)

    Vue3 + TypeScript 開發(fā)總結(jié)

    本文直接上 Vue3 + TypeScript + Element Plus 開發(fā)的內(nèi)容,感興趣的話一起來看看吧
    2021-08-08
  • 基于Vue3實現(xiàn)一個簡單的方位動畫

    基于Vue3實現(xiàn)一個簡單的方位動畫

    這篇文章主要為大家詳細介紹了如何基于Vue3實現(xiàn)一個簡單的方位動畫,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Vue發(fā)送ajax請求方法介紹

    Vue發(fā)送ajax請求方法介紹

    這篇文章介紹了Vue發(fā)送ajax請求的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • vue element el-form 多級嵌套驗證的實現(xiàn)示例

    vue element el-form 多級嵌套驗證的實現(xiàn)示例

    本文主要介紹了vue element el-form 多級嵌套驗證的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • vue router中mode history、base的作用說明

    vue router中mode history、base的作用說明

    這篇文章主要介紹了vue router中mode history、base的作用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論

宜兴市| 青海省| 岗巴县| 长沙县| 新巴尔虎右旗| 南投市| 资中县| 石门县| 鄯善县| 新田县| 汉源县| 霍州市| 延庆县| 邯郸市| 吐鲁番市| 巴彦淖尔市| 浪卡子县| 图木舒克市| 辉南县| 唐山市| 前郭尔| 原平市| 黎平县| 开封县| 黎城县| 宕昌县| 德江县| 辉南县| 晴隆县| 柳河县| 绵阳市| 阿拉善右旗| 轮台县| 奉化市| 陆川县| 正镶白旗| 宜兰市| 金华市| 丽江市| 嘉义市| 辽阳市|