#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() не является событием, вызываемым во втором подсостоянии.
Кто-нибудь может помочь?