2016-12-13 2 views
0

У меня проблема: как связать свойства с родительским контроллером? Когда md-selected-item и md-search-text являются свойствами от AddTaskController (т. Е. at.task.project), автозаполнение работает нормально (элементы, соответствующие возврату). Когда я пытаюсь связать данные из родителей - md-items | filter:edc.task.project - не работает должным образом (фильтр возвращает все элементы вместо совпавшие элементы) http://plnkr.co/edit/ZCIU5gNwWfWdIOnz0ykbmd-autocomplete Angular 1.x - привязать данные от родительского контроллера

<div ng-controller="EditTaskDialogController as edc">   
     <!-- autocomplete fields --> 
      <div layout="row" ng-controller="AddTaskController as at"> 
      <!-- project autocomplete --> 
      <div > 
       <md-autocomplete required md-no-asterisk 
           md-input-name="project" 
           md-selected-item="edc.task.project" 
           md-search-text-change="at.searchProjectChange(edc.task.project)" 
           md-search-text="edc.task.project" 
           md-selected-item-change="at.selectedProjectChange(item)" 
           md-items="item in at.profile.projects | filter:edc.task.project" 
           md-item-text="item" 
           md-min-length="0" 
           md-input-minlength="0" 
           md-floating-label="Projekt..."> 
          <md-item-template> 
           <span md-highlight-text="edc.task.project" md-highlight-flags="^i">{{item}}</span> 
          </md-item-template> 
          <div ng-messages="editTaskForm.project.$error" role="alert"> 
           <div ng-message="required">Pole nie może być puste.</div> 
          </div> 
       </md-autocomplete> 

      </div> 
    </div> 
+0

Просьба указать код/​​плунжер и т. Д. – kuhnroyal

+0

https://plnkr.co/edit/3stDa5Y8Ou9iYD8ZNRdY здесь Plunkr. Первая проблема - фильтр не работает. Во-вторых - мне нужно очистить ввод, ввести неточность, а затем нажать поле ввода. – miuosh

ответ

1

Это работает, вы просто переписав его с этим: md-search-text="edc.task.project". Это ссылка, и как только вы очистите поле ввода, оно будет установлено как неопределенное или пустое. В результате фильтр не будет фильтроваться.

Вторая проблема заключается в том, что вы установили md-selected-item. Как только один из них установлен, вход необходимо очистить, прежде чем автозаполнение будет искать снова.

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