Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao montar tabela de objetos

Olá, eu tenho um component listagem:

import { Component } from '@angular/core';

@Component ({
    selector : 'listagem',
    templateUrl : './listagem.component.html'
})
export class ListagemComponent
{
    movimentacoes : Object [] = [];
    descricao : string;

    constructor ()
    {
        this.movimentacoes = [
            {
                descricao : 'teste 1'
            },
            {
                descricao : 'teste 2'
            },
            {
                descricao : 'teste 3'
            }
        ]
    }
}

e seu template:

<div class="box">
    <div class="box-header with-border">
        <h3 class="box-title">Bordered Table</h3>
    </div>
    <div class="box-body">
        <table class="table table-bordered table-striped">
            <tr>
                <th>Task</th>
            </tr>
            <tr *ngFor="let movimentacao of movimentacoes">
                <td>
                    <movimentacao [descricao]="movimentacao.descricao"></movimentacao>
                </td>
            </tr>
        </table>
    </div>
</div>

Então tenho meu component movimentacao:

import { Component, Input } from '@angular/core';

@Component ({
    selector : 'movimentacao',
    templateUrl : './movimentacao.component.html'
})
export class MovimentacaoComponent
{
    @Input descricao : string;
}

e seu template:

{{descricao}}

Quando carrego a página, me aparece o seguinte erro no console:

zone.js:643 Unhandled Promise rejection: Template parse errors:
Can't bind to 'descricao' since it isn't a known property of 'movimentacao'. ("ngFor="let movimentacao of movimentacoes">
                <td>
                    <movimentacao [ERROR ->][descricao]="movimentacao.descricao"></movimentacao>
                </td>
            </tr>

Alguém pode me ajudar?

Se alguém puder me sugerir uma forma melhor de montar essa table, também fico agradecido... Por enquanto só tem uma "descricao" mas a ideia é que tenha pelo menos umas 5 propriedades nessa tabela...

Obrigado

1 resposta
solução!

Experimente @Input() descricao : string;

Se não me engano o Decorator input usa função construtora.