Несколько способов сделать это, привязка к недавно обновленному массиву с помощью ngFor и так далее. Шаблоны, переплеты, всевозможные новые и причудливые способы. В конечном итоге совет, вероятно, будет «не использовать стол».
Но если вам нужно использовать таблицу, и все, что вы действительно хотите сделать, это добавить еще одну строку HTML, этот старый трюк работает (хотя он может выть Angular хор). Помните, что вы манипулируете innerHTML. Вы также можете обновить это, используя фрагменты документа, чтобы сделать его немного более понятным.
Почему? Выберите таблицу с помощью querySelector и console.log. Вы увидите, что ряды завернуты в тело.
Это ультра наивная версия. Работает хоть. В прежние времена AngularJS иногда подобные вещи просто приводили тебя домой вовремя.
<html>
<head>
<body>
<table>
<tr>
<td>Row 1</td>
</tr>
</table>
<button onclick="addRow ()">Click Me</button>
<script>
function addRow ( ) {
const tbody = document.querySelector ( 'tbody' );
let inner = tbody.innerHTML;
inner += '<tr><td>Row 2 (compute value as necessary)</td></tr>';
tbody.innerHTML = inner;
}
</script>
</body>
</html>