Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
窗口onclick上的AngularJS$scope变量_Angularjs_Angularjs Scope - Fatal编程技术网

窗口onclick上的AngularJS$scope变量

窗口onclick上的AngularJS$scope变量,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我有一个按钮,单击该按钮时会显示一个窗口,再次单击该按钮时会将其隐藏。我希望即使单击页面中的任何其他位置,该窗口也会关闭 这是我的代码: <a class="btn dropdown-toggle multiselect-btn" ng-click="content=!content;contentClick=true"> //The div to show hide <div ng-class="{'open':content}" > div content <

我有一个按钮,单击该按钮时会显示一个窗口,再次单击该按钮时会将其隐藏。我希望即使单击页面中的任何其他位置,该窗口也会关闭

这是我的代码:

<a class="btn dropdown-toggle multiselect-btn" ng-click="content=!content;contentClick=true">

//The div to show hide
<div ng-class="{'open':content}" > div content </div>

正确的方法是什么?请任何人为我指引正确的方向。谢谢。

试试这个,更改控制器ID:

window.onclick = function () {
            var scope = angular.element(document.getElementById('controller_id')).scope();
            if(scope.contentClick){
                scope.contentClick=0;  
            }
            else{
               scope.content=false;
               scope.$apply();
            }
}

我不确定单击内容后您想要实现什么,但您可以在控制器中$watch content value并在内容更改值时运行一些操作

请看下面的脚本

var-app=angular.module'app',[]; 应用控制器'fCtrl',功能$scope{ $scope.$watch'content',functionvalue{ 如果值{ $scope.contentClick=1; }否则{ $scope.contentClick=0; } } }; .打开{ 颜色:红色;不透明度:0.5; } 点击我 //显示隐藏的div div内容{{contentClick}
window.onclick = function () {
            var scope = angular.element(document.getElementById('controller_id')).scope();
            if(scope.contentClick){
                scope.contentClick=0;  
            }
            else{
               scope.content=false;
               scope.$apply();
            }
}