프레임 워크를 처리하기 위해 ES6의 최신 기능을 실험하고 있습니다. 지금은 탐색 메뉴를 만들고 있습니다. 이것이 내가 템플릿을 렌더링 할 때 얻은 것입니다.템플릿 문자열 및 arr.reduce()로 렌더링 된 탐색 목록의 구문이 개선되었습니다.
// Prepare navigation container
var navMenuEl = document.createElement('div');
navMenuEl.id = 'lesson-navigation';
navMenuEl.className = 'menu side';
// Navigation options
let navItems = `
<div class="link">
<a href="/index.html">Home</a>
<div class="label">View all lessons</div>
</div>
${ links.reduce((t, link) => t + `
<div class="link ${link.active === true ? 'active' : '' }">
<a href="${link.url}">${link.title}</a>
<div class="label">${link.description}</div>
</div>
`, '')}
`;
debug('Nav items:', navItems)
// Add navigation options
navMenuEl.innerHTML = navItems;
ES6 때문에 놀라운 코드 조각이긴하지만, 저감 기능을 작성하는 더 좋은 방법이 있는지 궁금합니다. JS에서 많은 경험을했지만 신참이 구문에 의해 방향 감각을 잃어 버릴 수 있다고 생각합니다.
.active
클래스를 추가 할 때와 같은 질문입니다. 나는 util 메소드 isActive(link)
을 가질 수 있지만, 아마도 더 좋은 것이 있을까요? 예를 들어 링크 항목에 전용 웹 구성 요소 또는 렌더링 기능을 사용할 수 있습니다. 하지만 여기에 여분의 구성 요소가 필요 없다고합니다.
건배!
흥미로운 접근 방식을. 가능한 해결책을 명심하겠습니다. 아직도 정신적 인 프레임을 깨뜨리는 것 같습니다. 논리를 따르려면 코드의 다른 부분을 스캔해야합니다. 고맙습니다! –