コントローラーには、ng-switch が依存する変数である次のものがあります。
$scope.currentClock = {state: true};
これは、currentClock.state の値を変更するために使用するものです。
<timepanel>
<div id="hour" ng-click="currentClock.state = true">12</div>
<div id="minute" ng-click="currentClock.state = false">00</div>
</timepanel>
代わりに ng-click で関数を使用してみましたが、同じ結果が得られました。これが (コントローラーからの) 関数です。
$scope.changeClock = function(elm){
$scope.currentClock.state = elm;
}
そして最後に、これが私の ng-switch です。
<clockcontainer>
<div ng-switch on="currentClock.state">
<minuteclock ng-switch-when=false></minuteclock>
<hourclock ng-switch-when=true></hourclock>
</div>
<clockcontainer>
問題は次のとおりです: currentClock.state が true であるため、hourclock ディレクティブはデフォルトとして表示されますが、分 div をクリックして currentClock.state を false に設定すると、hourclock が消えて minclock が代わりに配置されるのではなく、取得されます。分時計ディレクティブが追加され、時間の div をもう一度クリックすると、2 つの hourclock ディレクティブが追加されました。