하위컴포넌트
<input
type="text"
class="mm"
value="0"
style="border:0 solid black; width:100%"
@blur="message()"
/>
.
.
.
methods: {
message() {
const value = document.querySelectorAll('.mm');
this.nums = [];
this.sum = 0;
for (var i = 0; i < value.length; i++) {
//console.log(value[i].value);
this.nums.push(value[i].value);
console.log('숫자들', this.nums);
}
this.nums.forEach((item) => {
this.sum += parseInt(item);
});
console.log('합계', this.sum);
this.$emit('message', this.sum);
},
},
message 라는 메소드에서 this.sum을 보낸다.
상위 컴포넌트
<newTable
v-for="item in items"
:key="item.id"
@message="updateSum"
/>
.
.
.
받아온 message 메소드가 updateSum이라는 메소드를 실행시킨다.
methods: {
updateSum(e) {
this.showsum = 0;
this.showsum = e;
console.log('showsum', this.showsum);
},
}
매개변수 e 로 this.sum을 받아온다.