vue compent 組件練習(xí)筆記

簡(jiǎn)述

根據(jù)這個(gè)視頻學(xué)習(xí)整理以下知識(shí)點(diǎn):

  • 如何定義組件
  • 如何使用組件
  • 如何傳遞參數(shù)給組件
  • 參數(shù)的類型限制
  • 只定義限制函數(shù)
  • 自定義相應(yīng)的計(jì)算屬性
  • 修改傳遞的參數(shù)值

代碼

分兩個(gè)文件,1個(gè)是父組件,一個(gè)是子組件
組件:

<template>
  <div>
    <h3>這是組件內(nèi)容</h3>
    <div>文本類型參數(shù) : {{text}}</div>
    <div>動(dòng)態(tài)參數(shù): {{text1}}</div>
    <div>數(shù)字參數(shù)(必須用動(dòng)態(tài)參數(shù)):{{number}}-{{typeof number}}</div>
    <div>對(duì)象參數(shù): {{obj}}-{{obj.name}}</div>
    <div>數(shù)組參數(shù): {{arr.join('-')}}</div>
    <hr />
    <h3>修改屬性的值</h3>
    <button @click="change">修改</button>
    <div>文本類型參數(shù) : {{txt}}</div>
    <div>計(jì)算屬性: {{num}}</div>
    <hr>
    <h3>限制傳入屬性</h3>
    <div>type:限制傳入類型</div>
    <div>default:默認(rèn)的字符串</div>
    <div>默認(rèn)值:{{text2}}</div>
    <div>validator:限制條件(小于100在控制臺(tái)有警告)-{{number2}}</div>
  </div>
</template>
<script>
export default {
  name: "Component1",
  props: {
    text: {
      type: String
    },
    text1: {},
    text2:{
      type:String,
      default:"這是默認(rèn)值"
    },
    number: {
      type: Number
    },
    number2:{
      type:Number,
      validator(val){
        console.log(val)
        return val > 100
      }
    },
    obj: {},
    arr: {}
  },
  data() {
    return {
      txt: this.text
    };
  },
  computed: {
    num() {
      return this.number + 1;
    }
  },
  methods: {
    change() {
      this.txt = "修改了";
    }
  }
};
</script>

父組件:

<template>
  <div class="about">
    <h1>組件</h1>
    <my-component1 
      text="這是父組件傳入?yún)?shù)" 
      :text1="msg"
      :number="num"
      :number2="num2" 
      :obj="obj"
      :arr="arr"></my-component1>
  </div>
</template>
<script>
import MyComponent1 from "../components/Component1"
export default {
  data() {
    return {
      msg:"這是動(dòng)態(tài)參數(shù)",
      num:1,
      num2:200,
      obj:{
        name:"john",
        age:18
      },
      arr:[1,2,3,4,5]
    };
  },
  methods:{
   
  },
  components:{
    MyComponent1
  }
};
</script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡(jiǎn)書還為我保存起的...
    Jenaral閱讀 3,150評(píng)論 2 9
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝...
    youins閱讀 9,708評(píng)論 0 13
  • 此文基于官方文檔,里面部分例子有改動(dòng),加上了一些自己的理解 什么是組件? 組件(Component)是 Vue.j...
    陸志均閱讀 3,949評(píng)論 5 14
  • 1.小程序起步 (1)點(diǎn)擊https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon閱讀 3,612評(píng)論 0 0
  • 今天早早起床給你炸薯?xiàng)l,因?yàn)槭亲蛱齑饝?yīng)好你的,炸完叫你起床,你先起來上廁所我在洗漱,怎么還不見你進(jìn)來洗臉?biāo)⒀?,一?..
    諾諾辰辰媽媽閱讀 265評(píng)論 0 3

友情鏈接更多精彩內(nèi)容