Я хочу передать Идентификатор продукта в директиве, как так:Как получить доступ к объекту с помощью изолированной области без двусторонней привязки?
<widget product-id="product.id"></widget>
Я предпочитаю не использовать фигурные скобки:
<widget product-id="{{product.id}}"></widget>
, потому что это более многословным, и я хочу, чтобы соответствовать стилю Использование ng-модели.
Я хочу использовать область выделения, чтобы я не мог случайно изменить product.id внутри виджета.
Если я использую:
scope {
productId: '@'
}
Затем в шаблоне директивы: {{productId}}
дает мне строку "product.id"
Если я использую:
scope {
productId: '&'
}
Я не вижу выхода в шаблоне директивы {{productId}}
, и, как я понимаю, &
предназначен для функций привязки, а не свойств.
Если я использую:
scope {
productId: '='
}
я получить точное значение, которое я хочу (число), но не это двухстороннее связывание и уязвимы для изменения product.id в виджете?
Что вы делаете с ID? Вы должны пройти всю модель, если вам это нужно ... Вам не нужно куда-то проходить идентификатор. –
Если вы боитесь изменить его, просто удалите его из области действия после того, как вы его использовали или сохранили в переменной. – zeroflagL
Я захватываю изображения для продукта. Я не думаю, что мне нужна вся модель. – Homan