vue 구성 요소 Prop 전달 데이터 구현 예제
5300 단어 vueProp데 이 터 를 전달 하 다
prop 는 단 방향 으로 연결 되 어 있 습 니 다.부모 구성 요소 의 속성 이 변 할 때 하위 구성 요소 에 전 달 됩 니 다.그러나 거꾸로 되 지 않 습 니 다.하위 구성 요소 가 부모 구성 요소 의 상 태 를 수정 하지 않 는 것 을 방지 하기 위해 서 입 니 다.
부모 구성 요소 가 업 데 이 트 될 때마다 하위 구성 요소 의 모든 prop 는 최신 값 으로 업 데 이 트 됩 니 다.이것 은 하위 구성 요소 내부 에서 prop 를 바 꾸 지 말 아야 한 다 는 것 을 의미한다.
1.Prop 정적 전달 데이터
<!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">
<!-- -->
<my-component message="hello" name=" " age="18"></my-component>
</div>
</body>
<script>
Vue.component('my-component',{
// message name age
props:['message','name','age'],
// data
data:function(){
return{
message1: this.message +' data '
}
},
//
computed:{
message2:function(){
return this.message + ' '
}
},
template:'<div>' +
'<span>{{message1}}</span><br>'+
'<span>{{message2}}</span><br>'+
'<span>{{message}} {{name}} {{age}} </span><br>'+
'</div>'
})
new Vue({
el:'#app'
})
</script>
</html>
출력 결과:2.Prop 동적 전달 데이터
<!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>
출력 결과:3.Prop 인증,우 리 는 구성 요소 의 props 에 인증 규격 을 지정 할 수 있 습 니 다.들 어 오 는 데이터 가 규격 에 맞지 않 으 면 Vue 에서 경 고 를 보 냅 니 다.프론트 데스크 톱 컨트롤 러 에서 경고 메 시 지 를 볼 수 있 습 니 다.
<!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: {
// (`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
}
}
},
template:'<span>{{propD}}</span>'
})
new Vue({
el:'#app',
data:{
message:'propD '
}
})
</script>
</html>
콘 솔 출력 경고 메시지:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.