0

Я использую следующий угловой плагин для генерации запроса.вызов директивы дважды используется в той же области

angular query builder

вопрос я получаю, когда я использую директиву дважды. одна за другой вся функция, если я использую в первую очередь, также происходит с другой.

<div class="container" ng-controller="QueryBuilderCtrl"> 
<h1>Angular.js Query Builder</h1> 

    <div class="alert alert-info"> 
     <strong>Example Output</strong><br> 
     <span ng-bind-html="output"></span> 
    </div> 

    <query-builder group="filter.group"></query-builder> 
    <query-builder group="filter.group"></query-builder> 
</div> 

Его фрагмент кода со страницы индекса плагина. Здесь я копирую дважды директиву querybuilder. Но его разделение одинаково.

Как исправить эту проблему.

+1

Похоже, это потому, что вы передаете точно такие же данные ('filter.group'), и объект' filter' передается по ссылке. Это означает, что все изменения 'filter.group', сделанные в первой директиве, являются актуальными для второй директивы. –

+0

как исправить это. так как директива должна быть добавлена ​​во время выполнения при нажатии кнопки. –

+0

Вы можете передать копию 'filter.group' каждый раз. Но нет кода контроллера, чтобы его видеть и быть уверенным. –

ответ

0

Попробуйте дать разные модели директивам. В вашем случае они используют одну и ту же модель.

<div class="container" ng-controller="QueryBuilderCtrl"> 
<h1>Angular.js Query Builder</h1> 

    <div class="alert alert-info"> 
     <strong>Example Output</strong><br> 
     <span ng-bind-html="output"></span> 
    </div> 

    <query-builder group="filter.group"></query-builder> 
    <query-builder group="filter.anotherGroup"></query-builder> 
</div> 
+0

на самом деле это невозможно, потому что директивы должны быть добавлены во время выполнения. и filter.group фиксируется в контроллере. –

+0

Можете ли вы создать jsFiddle или plunker для тех же .. –

Смежные вопросы