Изолировать область неудобно, потому что директива перестает наследовать от родительских областей.как разделить области без изолировать область?
Так прямо сейчас, когда я хочу использовать ту же директиву в том же объеме, который я использую ng-if
отделить директиву областей, как так:
<some-directive
ng-if="true"
var1="'wtva'"
var2="{{wtv2a}}"
var3="wtv2a"
></some-directive>
<some-directive
ng-if="true"
var1="'wtvb'"
var2="{{wtv2b}}"
var3="wtv2b"
></some-directive>
Таким образом, атрибуты из обеих директив не смешиваются без необходимости прибегать к изоляции области.
До сих пор я не заметил никаких проблем с этим подходом, но он выглядит хаки .. Есть ли лучший способ сделать это?
Почему бы не «прибегнуть к изоляции сферы»? Во всяком случае, тот же эффект, что и в случае с «ng-if», может быть достигнут с указанием «scope: true» в вашей директиве. –
с использованием изолированной области для многоразового компонента - хороший подход. Если вы хотите передать переменные области, то вы можете использовать '=', '@' & '&' согласно требованию –
Пока вы не используете область действия, тогда i не вижу проблемы. В противном случае вам необходимо определить дочернюю область «scope = true». Но если вам нужна двухсторонняя привязка, лучше использовать изолированную область. – Michael