Ответ 1
?
делает свойство необязательным. В противном случае вы получите NON_ASSIGNABLE_MODEL_EXPRESSION
, где Angular ищет свойство, которое не существует.
Из документов:
Если свойство родительской области не существует, оно выдает исключение NON_ASSIGNABLE_MODEL_EXPRESSION. Вы можете избежать этого поведения, используя =? или =? attr, чтобы указать свойство как необязательное.
https://docs.angularjs.org/api/ng/service/ $compile # -scope -