Директива AngularJS Transclude родительской области видимости

Я работаю над директивой и использую transclude, поэтому внутри нее используется внутренний элемент директивы use.

Допустим, это мнение моей директивы:

<div>
  <div ng-repeat="opt in options">
    <ng-transclude></ng-transclude>
  </div>
</div>

Директива:

app.directive("myDirective", function(){
    return {
        restrict: "E",
        transclude: true,
        templateUrl: 'my-directive.html',
        scope: {
          options: '='
        }
    };
  });

И простое использование этого:

<my-directive options="someOptions">
     <p>{{someObject[$parent.opt]}}</p>
</my-directive>

Это работает просто отлично. Моя проблема с этим решением заключается в том, что это $parent.opt не очень читабельно и понятно... Есть ли другой вариант?

Спасибо

1 ответ

Ваша директива кажется очень специфической.
Как насчет передачи родителя в директиву тоже?

<my-directive options="someOptions" object="someObject"></my-directive>

В директиве:

<div>
  <div ng-repeat="opt in options">
    <p>{{object[opt]}}</p>
  </div>
</div>

А потом добавить object: '<' в вашей изолированной декларации.

Другие вопросы по тегам