하위 구성 요소에서 올바른 개체를 업데이트하는 데 문제가 있습니다.Vue.js - 하위 구성 요소를 사용하여 패턴을 업데이트하거나 실행 취소합니다.
내 설정은 다음과 같습니다. 대부분의 데이터를 표시하거나 편집하려는 하나의 ul 목록입니다. "li"의 한 부분에는 데이터의 일부분 (해당 개체에 연결된 리소스 목록)을 표시하고 새 리소스를 처리하는 하위 구성 요소가 있습니다.
사용자가 행의 편집 모드를 활성화 한 다음 업데이트 및 취소 버튼을 사용하기를 원합니다.
내가 직면 한 문제는 편집해야하는 개체를 파악한 다음 저장하는 것입니다. 지금 내가하고있는 일은 사용자가 편집 모드에 있지 않을 때 실제 행 데이터가 표시되는 동안 입력 컨트롤의 모델로 사용하는 mutableRow에 행의 데이터를 복사하려고하는 것입니다. 업데이트 메서드에서 나는 DB에 게시하고 행 개체를 업데이트했습니다.
ul
li(v-for="row in rows")
p(v-if="!row.editing") {{ row.name }}
input(v-else, v-model="mutableRow.name")
resources(:row="row")
button(v-if="!row.editing") Start edit
template(v-else)
button Update
button Cancel
올바른 방법일까요? 그렇다면 하위 구성 요소로 전송되는 소품을 어떻게 처리해야합니까? 나는 이것을 통해 mutableRow를 가져 오는 것을 시도했다. $ parent.mutableRow, 나는 "resource (: row ="row ")"를 v-if로 바꾸려고 시도하고 편집 모드에서 mutableRow를 보낸다. 구성 요소에서 두 객체를 모두 변경하는 방법.
내가 사용할 수있는 또 다른 패턴이 있습니까?
는 I는'editing' 상태 및 수정 값은 요소의 내부 인 경우, 전체 '성분 li' 만들 것이다. 업데이트는 이벤트를 발생시키고 취소는 편집 값을 재설정합니다. –
내가 무슨 뜻인지 정확히 이해하지 못해서 모범을 보일 수 있겠습니까? :/ 전체 구성 요소가 하나의 구성 요소 여야한다는 것을 의미합니까? 문제는 많은 다른 입력 필드가 있으므로 많은 메소드와 템플릿이 있으므로 작은 부분으로 만들려고했습니다. – Solander
데이터의 모습을 보여줄 수 있습니까? 한 구성 요소 안에 더 작은 구성 요소가 있어야 할 수도 있습니다. –