我有一个简单的布尔变量,可以在启动时将DIV切换为隐藏,然后在操作后显示,直到应用程序结束。但它没有切换 - DIV总是被隐藏。请帮忙,下面的代码有什么问题:
<div class="right" ng-controller="EmployeeDetailsCtrl" ng-show={{showEmployeeDetails}}>
<p>{{employee.name}} {{employee.surname}}</p>
</div>
在EmployeeDetailsCtrl控制器中:
$scope.$on('showEmployee', function (event, data) {
$scope.showEmployeeDetails = true;
$scope.employee = data;
});
$scope.showEmployeeDetails = false;
顺便说一句,$ scope.employee变量在事件触发后正确更新,所以我真的很难解决这里发生的事情。
答案 0 :(得分:3)
从{{}}
中移除ng-show
,如下所示:
<div class="right" ng-controller="EmployeeDetailsCtrl" ng-show="showEmployeeDetails">
<p>{{employee.name}} {{employee.surname}}</p>
</div>
答案 1 :(得分:1)
当您使用ng-show
时,您绑定的是 表达式 ,而不是 字符串 ,所以只需使用:
ng-show="showEmployeeDetails"
。这就是为什么你可以做更复杂的事情,比如ng-show="1 + 1 === 2"
。
如果仍然没有将其删除,则可能是一个范围问题,原语被分配给子范围而在父范围内没有出现。从您展示的代码看起来不像它,但也许这个问题被简化了,你永远不会知道。