2017-10-10 29 views
0

ng-checkedで関数を呼び出し、その関数を介してチェックボックスをオンにするかどうかを決定しています。しかし、関数はページの読み込み時に呼び出されることはありません。ng-checkedで関数が呼び出されない理由

HTML -

<label> 
    <input type="checkbox" name="status1" id="status1" ng-click="vm.updateStatus('processing')" ng-checked="vm.isSelectedStatus('processing')"> In progress 
</label> 

JS(コントローラ) -

var vm = this; 
vm.isSelectedStatus = isSelectedStatus; 

vm.tasksStatus = ["processing", "finished", "failed"]; 

function isSelectedStatus(status) { 
    return vm.tasksStatus.indexOf(status) > -1; 
} 

function updateStatus(status) { 
     var index; 

     index = vm.tasksStatus.indexOf(status); 

     if(index === -1) { 
      vm.tasksStatus.push(status); 
     } else { 
      vm.tasksStatus.splice(index, 1) 
     } 
    } 
+0

あなたは、ページの負荷によって何を意味するのですか? – Sajeetharan

+0

@Sajeetharan私はページをリフレッシュしています。 –

+0

ページリフレッシュでどのように起動するのが良いでしょうか? – Sajeetharan

答えて

0

私が見ることができるように、コードが正常に動作します。..

あなたはほとんどしない理由を、あなたの完全なコードを、掲示実行可能なスニペットにするための最小限の余分な努力次に、コードのこの部分が問題ではないことがわかります。

angular.module('test', []).controller('Test', Test); 
 

 
function Test() { 
 
    var vm = this; 
 
    vm.isSelectedStatus = isSelectedStatus; 
 
    vm.updateStatus = updateStatus; 
 

 
    vm.tasksStatus = ["processing", "finished", "failed"]; 
 

 
    function isSelectedStatus(status) { 
 
    return vm.tasksStatus.indexOf(status) > -1; 
 
    } 
 

 
    function updateStatus(status) { 
 
    var index; 
 

 
    index = vm.tasksStatus.indexOf(status); 
 

 
    if (index === -1) { 
 
     vm.tasksStatus.push(status); 
 
    } else { 
 
     vm.tasksStatus.splice(index, 1) 
 
    } 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 
<div ng-app='test' ng-controller='Test as vm'> 
 
    <label> 
 
    <input type="checkbox" name="status1" id="status1" ng-click="vm.updateStatus('processing')" ng-checked="vm.isSelectedStatus('processing')"> In progress 
 
    </label> 
 
    
 
    <div>{{vm.tasksStatus}}</div> 
 
</div>

関連する問題