Views Codehs | 2.3.9 Nested

function ListView(items) { const container = createDiv('list'); items.forEach(it => { const row = RowView(it, selected => console.log('selected', selected)); container.appendChild(row); }); return container; } Benefit: RowView is reusable and isolated.

// create a list container const list = document.createElement('ul'); list.className = 'item-list'; 2.3.9 nested views codehs

function RowView(item, onSelect) { const el = createDiv('row'); el.textContent = item.title; el.addEventListener('click', () => onSelect(item)); return el; } { const row = RowView(it

// nest item inside list, list inside app list.appendChild(item); app.appendChild(list); list.className = 'item-list'

// create an item (child view) const item = document.createElement('li'); item.textContent = 'Click me'; item.className = 'item';