2017-10-12 2 views
2

확인란 목록을 사용하는 필터 목록이 있습니다. 각 확인란을 자체 구성 요소로 만들려고합니다. 따라서 각 필터에 대한 확인란 구성 요소를 추가하는 필터 목록을 반복합니다. Vue.js documentation은 동일한 모델을 사용하는 여러 확인란을 사용하는 경우 해당 배열이 확인란의 값으로 업데이트 될 것이라고 말합니다. 확인란 그룹이 부모 구성 요소의 일부인 경우 해당 작업을 볼 수 있습니다. 그러나 확인란을 구성 요소로 만들고 각 확인란 구성 요소를 루프에 추가하면 모델이 예상대로 업데이트되지 않습니다.Vue.js 확인란 구성 요소 여러 인스턴스

부모의 배열을 업데이트하는 확인란 구성 요소를 어떻게 가질 수 있습니까? 배열을 업데이트하는 구성 요소의 메서드에 이벤트를 발생 시키면이 작업을 수행 할 수 있지만 Vue 설명서를 보면 프레임 워크에서이 작업을 수행하는 것처럼 보일 수 있습니다.

여기 여기에 작업 버전 내가 https://www.webpackbin.com/bins/-KwGZ5eSofU5IojAbqU3

+1

링크 만이 아니라 게시물 자체에 관련 코드를 포함하십시오. – thanksd

답변

2

주변에 연주 한 코드 샘플입니다.

<template> 
    <div class="filter-wrapper"> 
    <input type="checkbox" v-model="internalValue" :value="value"> 
    <label>{{label}}</label> 
    </div> 
</template> 

<script> 
    export default { 
    props: ['checked','value', 'label'], 
    model: { 
     prop: "checked" 
    }, 
    computed:{ 
     internalValue: { 
     get(){return this.checked}, 
     set(v){this.$emit("input", v) } 
     } 
    } 
    } 
</script> 

업데이트 bin.

+0

대단히 감사합니다. 이것이 어떻게 작동하는지 이해하고 있는지 알려주십시오. 구성 요소에 대한 내부 모델을 작성하고 부모로부터 전달 된 모델에 값을 설정합니다. 나는 이것을 정확하게 이해하고 있는가? –

+0

@MichaelTurnwall 알겠습니다. 내부 모델이 변경되면 부모에게 변경 사항이 방출됩니다. – Bert

관련 문제