Вот некоторые пояснения:
@ связывает область видимости свойства оцененного значения атрибута DOM локального/директивы. Поскольку значения атрибутов всегда являются строками, вы всегда будете иметь строковое значение для этого свойства в области директивы при использовании @.
@ позволяет присвоить значение, определенному в атрибуте директивы, для области выделения.
= связывает локальное/директивное свойство scope с родительской областью видимости. Таким образом, с =, вы используете имя родительской модели/области видимости как значение атрибута DOM. Вы не можете использовать {{}} s с =.
= устанавливает двухстороннее связующее выражение между областью выделения директивы и родительской областью. Изменения в дочерней области и распространение на родителя и наоборот. Подумайте = как сочетание @ и &. Screencast на = здесь: https://egghead.io/lessons/angularjs-isolate-scope-two-way-binding
Да, двунаправленное связывание (=) позволяет локальной/директиве сферы и родительские возможности для обмена данных. «Связывание выражений» позволяет директиве вызывать выражение (или функцию), определяемое атрибутом DOM, - и вы также можете передавать данные в качестве аргументов выражения или функции. Итак, если вам не нужно обмениваться данными с родителем, вы просто хотите вызвать функцию, определенную в родительской области, - вы можете использовать синтаксис &.
& Благодаря Приветствия
'=' обеспечивает двустороннюю привязку, а '@' передает только строковое значение. они разные. – yukuan