1 - Como o [(ngModel)] sabe qual atributo deve substituiu no template ? O código inicial era:
<input type="text" class="input" name="autoria" id="autoria" placeholder="Digite a autoria ou fonte" [value]="pensamento.autoria">
Depois ficou:
<input type="text" class="input" name="autoria" id="autoria" placeholder="Digite a autoria ou fonte" [(ngModel)]="pensamento.autoria">
Como ele sabe que o [(ngModel)] substitui exatamente o valor do atributo value?
2 - Dado o cenário acima. Porque no exemplo abaixo não foi preciso excluir o atributo value para usar o [(ngModel)]? O código inicial era:
<input type="radio" id="modelo1" value="modelo1" name="modelo-card"">
Depois ficou:
<input type="radio" id="modelo1" value="modelo1" name="modelo-card" [(ngModel)]="pensamento.modelo">