Я нахожусь в середине онлайн-курса по Angular, когда автор обсуждает привязку свойств. Автор демонстрирует три примера привязки свойств, но не объясняет четко различия. В поисках разъяснений я проверил несколько других сообщений о переполнении стека, но почти каждое сообщение содержит конкретный вопрос о конкретной ситуации с постером, ни один из которых не помогает прояснить более общую тему.
Ниже я разместил примеры трех продемонстрированных мною техник, после чего я задам свои вопросы. Заранее благодарим всех за ответы:
Техника 1:
<tag [attribute]='binding_value' />
Техника 2:
<tag attribute = {{binding_value}} />
(Note the lack of single quotes - this was intentional
and the way demonstrated in the online course.)
Техника 3:
<tag attribute='blah blah blah...{{binding_value}}' />
...or just assuming we don't need to concatenate 'blah blah blah...', I see
no reason that the following should not also work...
<tag attribute='{{binding_value}}' />
(Note the use of single quotes - this was intentional
and was referred to as "interpolation" in the online course. I provide an
additional example without string concatenation involved to point out
that the use or non-use of single quotes as in technique 2 seems arbitrary.)
У меня большие проблемы с пониманием того, когда следует использовать одну технику вместо другой. Итак, у меня есть следующие вопросы:
Q1: Основываясь на некоторой информации в других сообщениях, я хочу сказать, что Техника 1 должна использоваться, если binding_value - это нечто иное, чем строка - например, число или логическое значение. Однако я не смог найти абсолютного подтверждения этому утверждению. Это правильно?
Q2: Техника 2 функционально эквивалентна Технике 1, или есть какая-то тонкая разница, которую мне не хватает?
Q3: Если не пытаться «интерполировать» (что, как я предполагаю, означает конкатенацию строки со значением привязки на основе контекста, в котором я видел использованное слово), есть ли причина помещать в одинарные кавычки значение привязки, когда не используется метод 1 или 2?
Q4: Есть ли преимущества / недостатки одного метода по сравнению с другим в определенных ситуациях, когда опытный разработчик сказал бы мне: «Ты хочешь сделать это так, и вот почему ...»?
Я видел эту статью, но не доверял ее содержанию, потому что автор предоставил то, что мне показалось недопустимым для сравнения. Он продемонстрировал интерполяцию в сравнении, но добавил одинарные кавычки там, где, я считаю, не должен. Хотя, не будучи экспертом в этом вопросе, я ищу подтверждения. Его пример: <button disabled='{{isDisabled}}'>Try Me</button> </div> в сравнении с тем, что, я думаю, следовало продемонстрировать, но не уверен: <button disabled = {{isDisabled}}>Try Me</button> </div>





Нет смысла пытаться изобретать велосипед ... возможно, я захочу просмотреть этот пост в блоге, поскольку он довольно хорошо отвечает на все ваши вопросы. codementor.io/adekunleoyaniyi/…