Я работал над некоторыми веб-приложениями в угловом режиме и видел два разных способа связывания переменных в области. Всякий раз, когда я думал, что я понял, в чем разница, я всегда ошибаюсь. Я все посмотрел и не могу найти четкого ответа на этот вопрос.
В чем разница между
scope:
{
foo : "="
}
а также
scope:{
foo : "=foo"
}
Я использую верхнюю версию, и, похоже, она работает хорошо, но мне хотелось бы знать, что такое нижняя версия (и для чего нужны переменные с обеих сторон), чтобы я не пропустил никаких мощных функций, угловых должен предложить.
Второй позволяет вам отображать область видимости на другое имя в вашей разметке.
Ознакомьтесь с примером в разделе "Изолирование области действия директивы":
https://docs.angularjs.org/guide/directive
Эта заметка дает некоторую полезную информацию:
Опция scope - это объект, который содержит свойство для каждого связывания области изоляции. В этом случае у него есть только одно свойство:
- Его имя (customerInfo) соответствует директиве изолировать область свойства customerInfo.
- Его значение (= info) сообщает $ compile для привязки к атрибуту info.
И это тоже очень полезно.
Эти атрибуты = attr в опции области директивы нормализуются так же, как имена директив. Чтобы связать атрибут в bind-to-this = "thing", вы должны указать привязку = bindToThis.