AngularJS $ scope变量不会进入视图

时间:2015-05-23 20:35:55

标签: javascript angularjs

我有一个简单的布尔变量,可以在启动时将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变量在事件触发后正确更新,所以我真的很难解决这里发生的事情。

2 个答案:

答案 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"

如果仍然没有将其删除,则可能是一个范围问题,原语被分配给子范围而在父范围内没有出现。从您展示的代码看起来不像它,但也许这个问题被简化了,你永远不会知道。