ユーザーが ng-repeat 内で div を非表示および表示できるようにしようとしています。コンソールから、オブジェクトが実際に true に変更されていることがわかりますが、ng-show/ng-hide 部分が期待どおりに機能していません。$apply メソッドを試しましたが、「既に実行中」というエラーが返され続けます。
マークアップ
<div ng-repeat="q in questions">
<div ng-show="q.active">
....
</div>
<div ng-hide="q.active">
....
</div>
<a href="#" ng-click="set_active($index)">Activate</a>
</div>
制御ファイル
$scope.questions = [{content: '..', active: true}, {content: '...', active: false}];
$scope.set_active = function($index){
$scope.questions[$index].active = true;
}
または、これを行うより効率的な方法はありますか?