programing

VueJ에는 React와 같은 제어되지 않은 컴포넌트라는 개념이 있습니까?

newsource 2022. 8. 7. 16:57

VueJ에는 React와 같은 제어되지 않은 컴포넌트라는 개념이 있습니까?

React는 https://reactjs.org/docs/uncontrolled-components.html 컴포넌트와 제어되지 않은 컴포넌트라는 개념을 가지고 있습니다.

여기서 제어되는 것은 반응 모델 내에서 작동하는 컴포넌트이며 상태는 가상 돔에서 추적됩니다.

그리고 통제되지 않은 것들은 가상 돔 밖에서 관리된다.

Vue는 또한 가상 돔과 함께 작동하므로 요소를 가져오는 잘못된 방법이 있습니다(예:document.queryBySelector또는classList.add돔을 조종하는 게 바닐라라면 어떻게 하겠어?

말씀하신 것처럼 바닐라 JS를 사용하여 요소를 대상으로 하는 것은 잘못된 것은 아니지만, 모범 사례는 아니며 Vue는 DOM을 손상시키려는 외부 시도를 거부할 수 있습니다.

DOM에서 특정 요소를 가져와 별도의 파일이나 스크립트가 아닌 Vue 구조 내에서 항상 수행하는 바닐라 메서드를 사용하여 조작해야 할 경우.저는 이렇게 하거나 이 중 몇 가지 변형으로 할 수 있습니다.

new Vue({
  ...,
  methods:{
    setClass() {
      let elem1 = document.querySelector("#elem1");
      elem1.classList.add("yourClass");
    }
  },
  mounted() {
    let elem2 = document.querySelector("#elem2");
  }
}

제거 클래스를 추가하려면 Vue에 고유한 클래스 바인딩 옵션을 사용하는 것이 좋습니다.양식을 다루는 경우에는 v-model을 사용하는 것이 좋습니다.

언급URL : https://stackoverflow.com/questions/54314195/does-vuejs-have-the-concept-of-controlled-and-uncontrolled-components-like-react