2017-10-18 8 views
0

Checklist-modelを使用して、チェックボックスでデータを表示しています。データは、約束の結果として提供される。リストには値が設定されていますが、すべてのチェックボックスをデフォルトとしてチェックします。どうすればこれを達成できますか? $scope.versionForm.ignoreRuleプリントコンソールにChecklist-modelですべてのチェックボックスをデフォルトとしてチェックします。

datas.getRules().then(
 
    function (resRules) 
 
    { 
 
    $scope.rules = resRules.data._embedded.rules; 
 
    $scope.versionForm.ignoreRule = $scope.rules.map(r => r.id); 
 

 
    console.log($scope.versionForm.ignoreRule); 
 
    }, 
 
    function (resRulesErr) 
 
    { 
 
    console.log(resRulesErr); 
 
    } 
 
);
<table class="table"> 
 
    <thead> 
 
    <tr> 
 
     <th>Include</th> 
 
     <th>Rule</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr ng-repeat="r in rules track by $index"> 
 
     <td><input type="checkbox" checklist-model="versionForm.ignoreRule" checklist-value="r.id" /> 
 
     </td> 
 
     <td>{{r.expression}}</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

は、それが[64、67、18]を示す:

はここに私のコードです。あなたのコードで

+1

'checklist-model'ディレクティブはどこから来ますか?角度のあるコアにはそのような指示はありません – charlietfl

+0

https://github.com/vitalets/checklist-model –

答えて

0

いくつかの問題は:

$scope.versionForm.ignoreRule = $scope.rules.map(r => r.id); 

それはあなたがルール(オブジェクト)の配列を使用したいが、あなたは実際にそこにIDの配列を持っている

$scope.versionForm.ignoreRule = $scope.rules; 

でなければなりません。

<tr ng-repeat="r in rules track by $index"> 

それは

<tr ng-repeat="r in rules track by r.id"> 

でなければなりません、あなたはIDが一意であることを確認する必要があります。

関連する問題