У меня есть компонент AngularJS, который используется на нескольких страницах. В этом компоненте у меня есть следующие привязки:
cancelText: '@',
confirmText: '@',
И этот класс:
@Inject('$mdDialog')
export class MultiLinePromptDialogComponent {
public cancelText = 'Annuleren';
public confirmText = 'Bevestigen';
constructor (private $mdDialog) { }
public cancel(): void {
this.$mdDialog.cancel();
}
public confirm(): void {
this.$mdDialog.hide(this.result);
}
}
В других компонентах я создаю шаблон с этим компонентом:
template: `<multiline-prompt-dialog cancel-Text="Cancel">
Когда я открываю диалоговое окно в браузере, я вижу ожидаемый текст Cancel
. Но когда я определяю компонент в шаблоне так:
template: `<multiline-prompt-dialog">
Без атрибута cancel-Text="Cancel
и проверки компонента в браузере шаблон ничего не показывает. Хотя я бы ожидал, что он покажет значение public cancelText = 'Annuleren
. Но похоже, что привязка переопределяет это значение пустой строкой.
Мы просто обновляем Angular 1.7, поэтому проблема может быть связана с этим обновлением.