2016-12-13 18 views
0

親コントローラからプロパティをバインドする方法はありますか? md-selected-itemmd-search-textAddTaskController(つまりat.task.project)のプロパティである場合、オートコンプリートは正常に機能します(リターンマッチした要素)。 md-items | filter:edc.task.project - - 私は親からデータをバインドしようとすると正常に動作しない、それが動作 http://plnkr.co/edit/ZCIU5gNwWfWdIOnz0ykbmd-autocomplete角度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

codepen/plunkrなどを入力してください。 – kuhnroyal

+0

https://plnkr.co/edit/3stDa5Y8Ou9iYD8ZNRdYここPlunkr。最初の問題 - フィルタが機能しません。 2番目 - 入力をクリアし、入力フィールドを非表示にしてから、入力フィールドをクリックする必要があります。 – miuosh

答えて

1

(フィルタは、すべての要素の代わりにマッチしたアイテムを返す)あなただけのこので上書きされます:md-search-text="edc.task.project"を。これは参照であり、入力フィールドをクリアするとすぐに未定義または空に設定されます。その結果、フィルタはフィルタリングされません。

2番目の問題は、md-selected-itemに設定されているためです。 1が設定されると、オートコンプリートが再び検索される前に入力をクリアする必要があります。

関連する問題