我正在尝试切换2个按钮,这些按钮是他们自己的开关触发器。为了更好地理解:
<span ng-switch on="patientSwitch">
<span ng-switch-when="edit">
<button ng-click="patientSwitch='save'">save</button>
</span>
<span ng-switch-when="save">
<button ng-click="patientSwitch"='edit'">edit</button>
</span>
</span>
这是一些jsFiddle:http://jsfiddle.net/g7vKz/
答案 0 :(得分:1)
改为使用对象:
myApp.controller("PatientCtrl", function($scope) {
$scope.viewModel = { patientSwitch: "edit" };
});
和
<span ng-switch on="viewModel.patientSwitch">
<span ng-switch-when="edit">
<button ng-click="viewModel.patientSwitch='save'">save</button>
</span>
<span ng-switch-when="save">
<button ng-click="viewModel.patientSwitch='edit'">edit</button>
</span>
</span>
演示: http://jsfiddle.net/M7EX2/
ngSwitch
创建一个新范围,这意味着除非您使用对象,否则由于原型继承在JavaScript中的工作方式,您将遇到此问题。
可以找到关于这个主题的非常好的帖子here。