Что делает знак вопроса в привязке области привязки Angular?

Я прочитал много статей, объясняющих разницу между @, = и &. Я видел много людей, использующих =? в своем коде. Что это значит?

К сожалению, я не могу найти в Google или SO для ответа, потому что поисковые системы игнорируют специальные символы.

Ответ 1

? делает свойство необязательным. В противном случае вы получите NON_ASSIGNABLE_MODEL_EXPRESSION, где Angular ищет свойство, которое не существует.

Из документов:

Если свойство родительской области не существует, оно выдает исключение NON_ASSIGNABLE_MODEL_EXPRESSION. Вы можете избежать этого поведения, используя =? или =? attr, чтобы указать свойство как необязательное.

https://docs.angularjs.org/api/ng/service/ $compile # -scope -