getSearchResultsHTML VS getKeywordsHtml
273
작성한 질문수 1
안녕하세요, 제목에 있는 2개 함수의 구현이 유사한데요,
전자는 데이터가 바인딩된 html 문자열을 다시 메소드로 분리하여 리턴하였고,
후자는 문자리터럴 그대로 html변수에 담아 리턴하였는데요, 어떤 이유가 있나요?
더 나은 코드는 무엇이며 왜 더 나은 지 알 수 있을까요?
MVC모델로 뭔가 작업하는 게 처음이라서,, 뭔가 잘게잘게 쪼개서 함수의 역할을 분리하는 것 같은데
어떤 기준으로 그렇게 되는 것인지 모르겠어서 질문 올립니다.
getSearchResultsHTML
ResultView.getSearchResultsHTML = function (data) { return data.reduce((html, item) => {
html += this.getSearchItemHtml(item)
return html
}, '<ul>') + '</ul>'
}
ResultView.getSearchItemHtml = function (item) {
return `<li>
<img src="${item.image}" />
<p>${item.name}</p>
</li>`
}
getKeywordsHtml
KeywordView.getKeywordsHtml = function (data) { return data.reduce((html, item, index) => {
html += `<li data-keyword="${item.keyword}"><span class="number">${index + 1}</span>${item.keyword}</li>`
return html
}, '<ul class="list">') + "</ul>"
}
답변 1
2
추천검색어는 하나의 함수 getKeywordsHtml 만 호출했느데, 검색결과는 getSearchResultsHtml, getSearchItemHtml 두개로 쪼겠느냐는 질문이시죠?
검색결과가 비교적 html이 많아서 함수로 분리한 것 뿐입니다. getKeywordsHtml도 분리하게 되면 좀 더 그럴듯한 코드가 될것 같네요.
KeywordView.getKeywordsHtml = function (data) { return data.reduce((html, item, index) => {
html += this.getKeywordItemHtml(item, index)
return html
}, '<ul class="list">') + "</ul>"
}
KeywordView.getKeywordItemHtml = function (item, index) {
return `<li data-keyword="${item.keyword}">
<span class="number">${index + 1}</span>${item.keyword}
</li>`
}
강사님, 브랜치명 어떻게 만드셨어요?
2
209
1
이미지 파일 업데이트가 안돼있는 거 같습니다
1
502
1
git사용법을 잘 모르겠습니다..
1
495
1
@event 질문입니다.
1
254
1
return 문자열이 여러줄은 어떻게 설정하나요?
1
646
2
탭뷰에서 이벤트를 받아서 메인컨트롤러에게 전달만해주는 방식도 괜찮나요?
1
257
1
ResultComponent.vue 에러?
1
251
1
선생님 안녕하세요!
0
247
1
return new Promise 와 return Promise.resolve
2
474
1
바닐라
1
320
1
실습 관련 질무
1
248
1
event.preventDefault() 문의
1
291
1
컴퍼넌트 질문이 있습니다.
0
210
1
return this에 대해서 (재업로드)
0
355
1
return this에 대해서 이해가 잘 되지 않아요
0
1175
1
강의 내용을 따라 했는데도 안되는 문제
1
309
2
크롬으로 로컬 띄었더니 에러가나네요
1
323
0
에러가 나네요
1
329
2
git checkout 중에 질문드립니다.
1
302
1
bindEvent 메소드를 왜추가하는지 궁금해서 질문드립니다.
2
576
1
안녕하세요 vue.js 처음 입문하는데 강사님 강의로 시작하게 되었습니다.
0
217
1
index 페이지에서 main.js 관련 질문입니다
1
203
1
학습내용 정리 관련 질문입니다!
0
179
1
lite-server로 구현해야하는 이유는 무엇인가요~?
1
522
2





