Я новичок в Angular и не могу найти и ответить на свой вопрос.
Я хочу изменить интерполяцию Angular, чтобы сделать ее совместимой с шаблонами Smarty, поэтому я изменил значение по умолчанию ['{{', '}}'] на ['[[', ']]'] или ['[','] '], но если в шаблоне есть что-то, начинающееся с {, я должен скейпировать это с помощью новой интерполяции.
Я создал новое приложение
ng new new-app
Затем я редактирую декоратор app.component.ts как:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
interpolation: ['[[',']]']
})
export class AppComponent {
title = 'Hello World!';
}
Затем я добавил в app.component.html новую переменную с новой интерполяцией
<h1>[*title*][[title]]{{title}}</h1>
Я ожидал
<h1>[*title*]Hello World!{{title}}</h1>
Но я получаю ошибку Angular
Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) ("<h1>[*title*]Hello World!{{title}}</h1>
Чтобы исправить это, мне нужно обновить шаблон с помощью
<h1>[*title*]Hello World![["{{"]]title}}</h1>
Почему я должен избегать "{{", если новая интерполяция - "[[" "]]]?
Интересно. Похоже, что синтаксис правильный, насколько я могу судить, так что это может быть ошибка в Angular.