Vue.js에서 부모님 ViewModel에component를 걸어서 데이터 공유
6680 단어 JavaScriptVue.js
다음과 같은 느낌을 구성한다
View 모델의 데이터에 데이터 모델을 넣고 component에서 그 값의 느낌을 읽는다.
소스 파일은 다음과 같습니다.
<h1>Component Test</h1>
<div class="main">
{{title}}
<my-component-one data="{{$data}}"></my-component-one>
<my-component-two data="{{$data}}"></my-component-two>
<button v-on="click:output">
check
</button>
</div>
<div class="output">
</div>
<my-component></my-component>
var dataModel = {
title: "Title",
one: "component1",
two: "component2"
};
var MyComponent_one = Vue.extend({
template: '<p v-on="click:rewrite">{{data.one}}</p>',
props: ['data'],
methods:{
rewrite: function(){
this.data.one = "rewrite";
}
}
});
var MyComponent_two = Vue.extend({
template: '<p v-on="click:rewrite">{{data.two}}</p>',
props: ['data'],
methods:{
rewrite: function(){
this.data.two = "rewrite";
}
}
});
var mainViewModel = new Vue({
el: ".main",
data: dataModel,
methods: {
output: function(){
$('.output').html(this.$data.one + " " + this.$data.two);
}
},
components: {
"my-component-one": MyComponent_one,
"my-component-two": MyComponent_two
}
});
문자열을 클릭하면 데이터가 바뀝니다.check 버튼을 사용하여 Data Model의 내용을 확인하면 덮어쓰기를 알 수 있습니다.이 디자인이 좋은지 모르겠지만 어쨌든 하고 싶은 일이 생겼어요.
jsfiddle
Reference
이 문제에 관하여(Vue.js에서 부모님 ViewModel에component를 걸어서 데이터 공유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nasum/items/1244cb44c832dda7f7d5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)