Vue.js0.1.2에서 사용된 Prop Binding Type
5843 단어 Vue.js
그래서 Vue.js0.12에서 등장하는 Prop Binding에 대해 대충 보고 싶습니다.만약 무슨 오해가 있으면 지적해 주십시오.
주의
본 보도는 제목과 같이 0.1.2를 따른다.0.12와 0.1.2 사이에 Pop binding의 사양(구문)이 변경되었습니다.
See: Release 0.12.1 · yyx990803/vue
원래 블루였는데.js로 말한 Prop
By default, components have isolated scope. This means you cannot reference parent data in a child component’s template. In order to pass data to child components with isolated scope, we need to use
props
.요컨대 구성 요소 간에 가치를 교환하기 위한 구조이다.
Prop Binding Types
구성 요소 간에 작용 범위를 교환할 수 있다면
예제
이런 느낌의 화면이 있다면
<html>
<head>
<meta charset="UTF-8">
<script src="vue-0.12.1/dist/vue.min.js"></script>
</head>
<body>
<div id="demo">
Parent: <input type="text" v-model="msg">
<br>
Child: <child msg="{{msg}}"></child> <!-- ここが変化します -->
</div>
<script>
var demo = new Vue({
el: '#demo',
data: {
msg: 'Hello, World!'
},
components: {
child: {
props: ['msg'],
template: '<input type="text" v-model="msg">'
}
}
});
</script>
</body>
</html>
1. One-way binding
<child msg="{{msg}}"></child>
Prop의 기본 동작은 One-way binding입니다.부모가 msg에 대한 변경도 아이에게 통지하지만 자녀가 msg에 대한 변경은 부모에게 통지하지 않는다.
2. Two-way binding
<child msg="{{@ msg}}"></child>
Two-way binding을 위해 @
를 추가합니다.부모가 변경되면 자녀에게, 자녀가 변경되면 부모에게 통지한다.
3. One-time binding
<child msg="{{* msg}}"></child>
부모의 변경은 아이에게 한 번만 통지한다.이해하기 어렵지만 이번 경우는 화면이 로드될 때 부모가 들고 있던 msg를 아이에게 맡겼을 때 One-time binding 효과로 인해 앞으로 부모와 아이 모두 변경 사항을 반영하지 않을 것으로 보인다.
덤
0.12에서는 부모에게만 아이 변경을 알리는 경우
Oneway up binding
가 있었던 것 같지만 0.1.2에서는 곧바로 삭제됐다.총결산
구성 요소 사이의 값을 당신에게 주고 싶지만 전체 변수로 만들면 편리할까요?아마
참고 자료
Reference
이 문제에 관하여(Vue.js0.1.2에서 사용된 Prop Binding Type), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gongo/items/1b1d1d4e19b32350b2d6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)