VueJS 구성 요소 간 props 인 터 랙 션 및 검증 방식

props 는 부모 구성 요소 가 데 이 터 를 전달 하 는 사용자 정의 속성 입 니 다.부모 구성 요소 의 데 이 터 는 props 를 통 해 하위 구성 요소 에 데 이 터 를 전달 해 야 합 니 다.하위 구성 요 소 는 props 옵션 으로"prop"을 명시 해 야 합 니 다.
부모 구성 요 소 는 props 를 통 해 하위 구성 요소 에 데 이 터 를 전달 합 니 다.
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue      -     (runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <child message="hello world!">props      </child>
</div>

<script>
// 
Vue.component('child', {
 //    props
 props: ['message'],
 //        vm      “this.message”     
 template: '<h1>{{ message }}</h1>'
})
//      
new Vue({
 el: '#app'
})
</script>
</body>
</html>
효과 그림:

동적 props 구성 데이터 전달
v-bind 로 HTML 특성 을 표현 식 에 연결 하 는 것 과 유사 하 며,v-bind 동적 으로 props 의 값 을 부모 구성 요소 의 데이터 에 연결 할 수 있 습 니 다.부모 구성 요소 의 데이터 가 변 할 때마다 이 변 화 는 하위 구성 요소 에 전 달 됩 니 다.
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue      -     (runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <div>
   <input v-model="parentMsg">
   <br>
   <child v-bind:message="parentMsg"></child>
  </div>
</div>

<script>
//   
Vue.component('child', {
 //    props
 props: ['message'],
 //        vm      “this.message”     
 template: '<span>{{ message }}</span>'
})
//      
new Vue({
 el: '#app',
 data: {
  parentMsg: '     '
 }
})
</script>
</body>
</html>

효과 그림:

 v-bind 명령 은 모든 중복 되 는 구성 요소 에 todo 를 전달 합 니 다.
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue      -     (runoob.com)</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <ol>
  <todo-item v-for="item in sites" v-bind:todo="item"></todo-item>
   </ol>
</div>

<script>
Vue.component('todo-item', {
 props: ['todo'],
 template: '<li>{{ todo.text }}</li>'
})
new Vue({
 el: '#app',
 data: {
  sites: [
   { text: 'Runoob' },
   { text: 'Google' },
   { text: 'Taobao' }
  ]
 }
})
</script>
</body>
</html>

효 과 는 다음 과 같 습 니 다:

메모:props 는 단 방향 으로 연결 되 어 있 습 니 다.부모 구성 요소 의 속성 이 변 할 때 하위 구성 요소 에 전 달 됩 니 다.그러나 거꾸로 되 지 않 습 니 다. 
구성 요소 가 props 에 대한 인증 요구 사항 을 지정 합 니 다.
props 는 문자열 배열 이 아 닌 대상 일 때 인증 요 구 를 포함 합 니 다.
JS

Vue.component('example', {
 props: {
  //        (`null`           )
  propA: Number,
  //     
  propB: [String, Number],
  //        
  propC: {
   type: String,
   required: true
  },
  //   ,    
  propD: {
   type: Number,
   default: 100
  },
  //   /                 
  propE: {
   type: Object,
   default: function () {
    return { message: 'hello' }
   }
  },
  //        
  propF: {
   validator: function (value) {
    return value > 10
   }
  }
 }
})

type 은 아래 원생 구조 기 일 수 있 습 니 다.
  • String
  • Number
  • Boolean
  • Function
  • Object
  • Array
  • type 도 사용자 정의 구조 기 일 수 있 습 니 다.instanceof 검 측 을 사용 할 수 있 습 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기