微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 如何隐藏div点击页面上的任何位置?

好吧,我有主头控制器,我有这个:

<div class="fade-show-hide" ng-class="{'ng-hide':loggedInClose==true}" ng-show="loggedInopened" ng-cloak>
@Html.Partial("~/Views/Shared/_LoggedInPartial.cshtml")
</div>

在脚本我有这个:

$scope.loggedInClose = false;

$scope.toggleLoggedIn = function () {
        $scope.loggedInopened = !$scope.loggedInopened;
        $scope.languagesOpened = false;
        $scope.loginopened = false;  
    };

问题是,当我使用此代码时没有发生任何事情……我得到$scope.loggedInClose = true;但div并不隐藏……

angular.element(document).on('click',function () {

    $scope.loggedInClose = true;

});

如果我点击页面上的任何地方,有人可以解释我如何隐藏div吗?

解决方法

我希望你把这个事件监听器放在指令中,而不是在控制器中? :)无论如何,你需要tel Angular来更新范围绑定.对于这个调用$apply方法来启动新的摘要

angular.element(document).on('click',function () {
    $scope.loggedInClose = true;
    $scope.$apply();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐