我正在尝试使用angular来显示/隐藏某些内容,但是当它通过$scope
调用时它无效。如果我用ng-model
更改show变量,它可以正常工作。
<div id="editClient"
class="accordeon panel-group"
role="tablist"
aria-multiselectable="true"
ng-show="show">
....
</div>
在我的脚本中,这不起作用。
client.controller('clientController', function($scope) {
$scope.show = true;
$scope.test = function() {
alert('clicked');
$scope.show = true;
}
显示“已点击”,我也尝试使用$apply
,但结果是相同的。
但是当我使用ng-model
时,它可以正常工作
<input type="checkbox" value="true" ng-model="show">
有人能解释一下为什么它不适用于$scope.show
吗?
答案 0 :(得分:1)
调试。
以下工作正常,使用控制器中的ng-bind和按钮触发功能复选框。
<input type="checkbox" ng-model="show">Toggle visibility
<br>
<button type="button" ng-click="toggle()">Toggle visibility</button>
<hr>
<div ng-show="show">Visible</div>
<div ng-show="!show">Hidden</div>
app.controller('Ctrl', function($scope, $http) {
$scope.show = true;
$scope.toggle = function() {
$scope.show = !$scope.show;
};
});
答案 1 :(得分:0)
以下使用$scope
正常工作。见jsfiddle