inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

[리팩토링] 할 일 완료 기능

질문있습니다.

183

후루루룹

작성한 질문수 11

1

--체크하는 메소드

checkItems: function (todoItem,index) {

this.todoItems[index].completed =! this.todoItems[index].completed;

localStorage.setItem(todoItem.item, JSON.stringify(todoItem));

}

안티패턴때문에 위에

this.todoItems[index].completed =! this.todoItems[index].completed;

이 부분에서 App.vue에 선언된 todoItems를 this를 사용하여 코딩하잖아요.

그렇다면 하위컴포넌트에서 $emit으로 가져온 데이터 todoItem,index를 사용하는것도 안티패턴인가요???

이 데이터도 propsdata에 영향을 받은게 아닌가 싶어서 질문 올립니다.

vuex vuejs javascript es6

답변 1

1

캡틴판교

안녕하세요 후루루룹님,

좋은 질문이네요! 할 일 체크하는 코드 관련해서 질문 주신 것 같은데 결론부터 말씀드리면 todoItem, index를 다른 곳에서 받아 변형하지 않기 때문에 안티 패턴이라고 보지 않으셔도 될 것 같아요..! 특정 컴포넌트의 데이터는 해당 컴포넌트에서만 변경한다는 규칙만 어긋나지 않게 코딩하시면 좋을 것 같습니다 :)

Chrome 개발자 모드 확장이 안됨

0

260

1

깃 권한 요청드립니다

0

118

1

vue.js 중급 리포지토리 권한 관련

0

118

1

vuex + axios 질문 있습니다!

1

198

2

깃 권한 요청드립니다!

0

161

1

강의 깃주소 문의

0

144

1

router-view에 props를 어떻게 넘길 수 있나요?

1

280

2

Vue가 인식되지 않는 현상

0

205

1

기초강좌는 어디있나요?

1

190

2

App.vue가 필요한 이유

0

192

1

getter가 정의되어 있지 않아 오류가 발생합니다.

1

254

1

뷰 라이프사이클

1

187

1

TSLint 말고 TSLint Vue 설치해도 되나요?

1

368

3

로컬 스토리지는 어디에 있나요?

1

280

1

vuex 실행시 새로고침해야지만 리스트에 나타나는 현상

1

387

2

export default 관련한 질문

0

354

2

깃허브 vue-todo 접근불가에 따른 확인요청

1

354

2

깃허브에 문제있는것 같습니다.

1

273

2

인프런 강의 재생 화면 구성 변경 문의드립니다

1

305

2

addTodo Helper 함수 적용

1

243

1

vuex 헬퍼 전역 설정

1

245

2

github 권한요청드립니다.

1

258

2

이벤트 위치에 대한 궁금증 입니다.

1

223

2

구조 차이에 대한 문의

1

345

2