When you use []
to bind to an @Input()
, it’s basically a template expression.
The same way displaying {{abc}}
wouldn’t display anything (unless you actually had a variable called abc
).
If you have a string @Input()
, and you want to bind it to a constant string, you could bind it like this: [myText]=" 'some text' "
, or in short, like a normal HTML attribute: myText="some text"
.
The reason [myEnabled]="true"
worked is because true
is a valid template expression which of course evaluates to the boolean true
.