我的控制器中有以下内容,即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,但是当我点击分钟div时,设置currentClock。状态为false,而不是Hourclock离开而minclock取而代之,它会附加minclock指令,当我再次点击小时div时,现在有两个小时指令