Angular2: разница между ${..} и {{...}} в строке шаблона
В ES6 есть функция Template String, то есть мы можем сформировать/конкатрировать строку следующим образом (с обратным тэгом)
const name = 'John';
const intro = 'My name is ${name}';
console.log(intro);
Ответ 1
Это разные вещи:
${} используются как заполнители в строке шаблона, как вы уже знаете. Эти строки шаблонов не совпадают с шаблонами Angular, и вы не должны использовать ${} в своих шаблонах Angular 2. Во-первых, это не сработает, если вы переместите шаблон во внешний файл.
{{}} - это синтаксис интерполяции Angular, и это то, что вы хотите использовать в Angular 2 шаблонах. Вы определяете свойство или метод в классе компонентов и используете {{}} в шаблоне компонента для интерполяции значения этого свойства или вызова метода. Вы также можете использовать выражения ({{a + b / 2}}) и трубы ({{title | uppercase}}).
Angular выражение {{ }} создает привязку, которая управляется angular, где Angular автоматически отслеживает изменения свойства и может динамически изменять значение свойства по мере его изменения во время выполнения, тогда как метод шаблона ES6 анализирует значение один раз, при первом рендере.