Хорошо, теперь я достиг этого, изменив поле ввода следующим образом:
<input type="text" id="teamName" name="teamName"
i18n-placeholder="inputfieldPlaceholderForTeamName"
placeholder="###{{displayName}}'s Team###"
#teamNameInput
[(ngModel)]="teamName"
minlength="2" maxlength="100" required>
А затем в коде:
teamName = '';
//If you have an ngIf wrapper, the setter will be called with undefined, and then
again with a reference once ngIf allows it to render.
@ViewChild('teamNameInput') set defaultTeamName(input: ElementRef) {
if (!!input) {
// needs to be wrapped in a 0 timeout to prevent ExpressionChangedAfterItHasBeenCheckedError (following https://angular.io/api/core/ViewChild Line 23)
setTimeout(() => {
//set the localized placeholder as the input fields value
this.teamName = input.nativeElement.placeholder;
}, 0);
}
}
Похоже на хак, но я думаю,пока это единственный способ получить доступ к локализованным значениям непосредственно в коде, пока не выйдет Angular v7.