>

현재 아래와 비슷한 객체를 가진 json 배열에 의해 생성 된 폼에 대한 컴포넌트 세트를 구성하고 있습니다. 다른 필드를 채우고 서로 연결하려면 부모 값 개체를 감시해야합니다.

{
  id: 'title',
  label: 'Title',
  type: 'text',
  placement: 'main',
  placeholder: 'Write Something...'
},
{
  id: 'slug',
  label: 'Slug',
  type: 'slug',
  placement: 'seo',
  populateFrom: 'title',
  gridSize: 6
}

컴포넌트에는 계층 구조가있어 부모 (또는 조부모)가 필드 값을 양식 모델로 알 수 있습니다.

FormView
  Field
    FieldText
  Field
    FieldSlug

선택한 모델 속성 (이 경우 "제목"필드)의 데이터를 채우기 위해 FieldSlug에서 popFromFrom 속성을 확인했습니다.

// this.field is field definition object sampled above
// $emit('input') notifies FormView to change value for form
if (this.field.populateFrom) {
  this.populateFrom = this.$parent.$watch('value', (after, before) => {
    this.$emit('input', slug(after[this.field.populateFrom]))
  }, {deep: true})
}

<시간>

양식을 편집하고 만들려면 동일한 뷰 (구성 요소)를 사용하고 있습니다. Vuex에서 데이터를 가져오고 게터로 필터링합니다. 생성 모드에서 getter는 상태에서 객체를 찾을 수 없으며 빈 객체를 반환합니다.

빈 객체 인 경우 $parent.value를 볼 수 없습니다. (트리거 된 항목 없음) 상태에서 객체를 반환하면 완벽하게 작동합니다.

afaik,$set은 객체를 자동으로 반응하게합니다;그것은 내가 "FormView"내에서 데이터를 설정하기 위해 사용하는 것입니다.데이터가 성공적으로 설정되었지만 $watch에 의해 트리거 된 것이 없습니다.

내가 부족 무엇?


  • 답변 # 1

    $data 객체를 새로운 것으로 사용

    모든 키를 양식으로 설정하기 위해 $set 사용

    반응성 문제를 해결했습니다.

관련 자료

  • 이전 spring - 코 틀린 - springboottest에서 @beforeclass 정적 메소드를 관리하는 방법
  • 다음 android - NETStandard 20을 사용하는 Xamarin Forms에서 색조 크기가 올바르지 않습니다