x-editable / ng-tags-input / Ошибка типа: не удается прочитать свойство ‘data’ неопределенного

#angularjs #x-editable #ng-tags-input

#angularjs #x-редактируемый #ng-теги-ввод

Вопрос:

У меня проблема с ng-tags-input (возможно, проблема связана с комбинацией x-editable и ui-router):

У меня есть приложение с тремя состояниями: «main», «sub1» и «sub2». Для каждого подраздела у меня есть x-редактируемые теги-ввод, подобный этому:

 <div editable-tags-input="model_content"
     data-e-form="(...)"
     data-e-ng-model="model_content"
     data-e-name="(...)"
     e-display-property="name"
     e-placeholder="(...)"
     e-replace-spaces-with-dashes="false"
     e-add-from-autocomplete-only="true"
     name="(...)">
    <!-- advanced item display -->
    <a ng-click="showEdit()" 
       class="editable editable-click"
       ng-class="model_content.length === 0?'editable-empty':''">
        <span ng-repeat="a in model_content">
            {{a.name}}{{$last?'':', '}}
        </span>
        <span ng-if="model_content.length === 0">
            (empty)
        </span>
    </a>

    <editable-tags-input-auto-complete source="getItems()"
                                       min-length="1"
                                       load-on-focus="true"
                                       load-on-empty="true"
                                       max-results-to-show="20">

    </editable-tags-input-auto-complete>
</div>
  

Все работает нормально — без каких-либо проблем на одном из вспомогательных модулей. Если я нажму на ссылку (-> showEdit()), ввод ng-tags будет создан / показан, редактируемые теги будут созданы, и автозаполнение будет выполнено нормально.

НО если я перейду к основному представлению, а затем к другому подразделу (например, с sub1 на main на sub2), автозаполнение больше не работает: после фокусировки редактирования (и, возможно, ввода любого символа) я получаю

 angular.js:13920 TypeError: Cannot read property 'data' of undefined
        at ng-tags-input.js:623
        at processQueue (angular.js:16383)
        at angular.js:16399
        at Scope.$eval (angular.js:17682)
        at Scope.$digest (angular.js:17495)
        at Scope.$apply (angular.js:17790)
        at angular.js:19621
        at completeOutstandingRequest (angular.js:5964)
        at angular.js:6243(anonymous function) @ angular.js:13920(anonymous function) @ angular.js:10467processQueue @ angular.js:16391(anonymous function) @ angular.js:16399$eval @ angular.js:17682$digest @ angular.js:17495$apply @ angular.js:17790(anonymous function) @ angular.js:19621completeOutstandingRequest @ angular.js:5964(anonymous function) @ angular.js:6243
  

Метод GetItems() не является событием, вызываемым во втором подсостоянии.

Кто-нибудь может помочь?