Sarah, rodei seu código e funcionou certinho:
class Funcionario {
constructor (nome, endereco, salario) {
this._nome = nome
this._endereco = endereco
this._salario = salario
}
}
class FuncionariosView {
constructor (elemento) {
this._elemento = elemento
}
_template (model) {
return `${model.funcionarios.map(f => `
<tr>
<td>${f._nome}</td>
<td>${f._endereco}</td>
<td>${f._salario}</td>
<tr>
`).join('')}`
}
update (model) {
// console.log(model.funcionarios);
console.log(this._template(model))
// this._elemento.innerHTML = this._template(model)
}
}
const model = {
funcionarios: [
new Funcionario('Douglas', 'Rua da esquina, 123', 4500),
new Funcionario('Felipe', 'Rua da virada, 456', 5000),
new Funcionario('Silvio', 'Rua da aresta, 789', 6000)
]
}
const view = new FuncionariosView()
view.update(model)
Quando executo view.update(model)
ele loga no console:
<tr>
<td>Douglas</td>
<td>Rua da esquina, 123</td>
<td>4500</td>
<tr>
<tr>
<td>Felipe</td>
<td>Rua da virada, 456</td>
<td>5000</td>
<tr>
<tr>
<td>Silvio</td>
<td>Rua da aresta, 789</td>
<td>6000</td>
<tr>
O erro deve estar vindo de outro lugar.
No outro post que você abriu, você disse:
está me retornando undefined
Mas o que está te retornando undefined
? Onde, qual função? O que aparece no seu console como erro?