2017-01-30 4 views
0

popを作成するときに、このディレクティブを使用してデータをループするので、このオブジェクトにチェックされたリストを追加できます。 しかし、問題は、私は編集ページ(私が作成および編集の両方のための1つのHTMLページを使用)で、すでにそのオブジェクト内のチェックボックスをチェックすることができる方法である:既存のオブジェクトが正しくマッピングされていない場合はchecklist-modelの編集モードでの使い方は?

<md-input-container ng-repeat="tab in allTabs"> 
    <md-checkbox aria-label="tab.name" checklist-model="pop.tabs" checklist-value="tab"> 
     {{tab.name}} 
    </md-checkbox> 
</md-input-container> 

答えて

0

- してみてくださいng-repeatで 'track by'を使用:

<md-input-container ng-repeat="tab in allTabs track by tab.Id"> 
     <md-checkbox aria-label="tab.name" checklist-model="pop.tabs" checklist-value="tab"> 
     {{tab.name}} 
     </md-checkbox> 
    </md-input-container> 

これは97%の時間で動作するはずです。あなたは3%に落ちてしまった、あなたは最後の3日間、あなたの髪を引っ張ってきた場合は、 - あなたのコントローラにコンパレータを追加してみてください:

$scope.compareFn = function(obj1, obj2){ 
     return obj1.id === obj2.id; 
    }; 

そして、「チェックリスト・コンパレータ」

<md-input-container ng-repeat="tab in allTabs track by tab.Id"> 
     <md-checkbox aria-label="tab.name" checklist-model="pop.tabs" checklist-value="tab" checklist-comparator="compareFn"> 
     {{tab.name}} 
     </md-checkbox> 
    </md-input-container> 
関連する問題