반응형
vuejs vuex는 돌연변이 없이 2방향 바인딩 상태로 사용(v-model)
나는 내가 상태를 바꾸기 위해 돌연변이를 사용해야 한다는 것을 알고 있다.하지만 v-model 바인딩에서 상태를 사용하는 것이 이론적으로 가능한지 궁금했다.
현재 해결 방법:
html:
...
<input v-model='todo'>
...
돌연변이 발생:
...
computed: {
todo: {
get () { return this.$store.state.todos.todo },
set (value) { this.$store.commit('updateTodo', value) }
}
}
...
변이 없이
...
computed: {
todo: {
get () { return this.$store.state.todos.todo },
set (value) { this.$store.state.todos.todo = value }
}
}
...
원하는 항목:
...
<input v-model='this.$store.state.todos.todo'>
...
Vuex 상태 속성을 구성 요소 또는 입력에 직접 바인딩할 수 있음v-model
:
<input v-model='$store.state.todos.todo'>
그러나 이것은 강력히 반대할 것을 권고한다.Vuex는 당신이 돌연변이 함수 밖에서 상태를 변이하고 있다는 것을 경고할 것이다.
Vuex를 사용할 때, 당신의 상태 개체는 오직 돌연변이 함수로만 업데이트되도록 고안된 진실의 원천이기 때문에, 하나의 성분이 돌연변이를 부르지 않고 지구 상태에 영향을 미치고 있다면 왜 지구 상태가 변화하는지를 빠르게 디버깅하기가 어려워질 것이다.
내 생각엔 대부분의 사람들이 당신의 컴퓨터 사용을 추천할 것 같다.todo
설명하려는 시나리오에 대한 돌연변이가 있는 속성 예.
반응형
'Programing' 카테고리의 다른 글
OS X에서 Python의 기본 버전을 3.x로 설정하는 방법 (0) | 2022.03.28 |
---|---|
라우터가 정의되지 않은 대응 라우터 및 스프링 부트 서버 (0) | 2022.03.28 |
오류: 'dct' 개체에 'iteritems' 특성이 없음 " (0) | 2022.03.28 |
JSON에서 유니코드 대신 문자열 객체를 가져오는 방법 (0) | 2022.03.28 |
하위 구성 요소에서 상위 데이터 업데이트 (0) | 2022.03.28 |