gpt4 book ai didi

javascript - Ng-show 对范围变量变化没有反应

转载 作者:行者123 更新时间:2023-11-30 12:42:28 25 4
gpt4 key购买 nike

首先,我将 infoWindow 的 bool 值设置为 false:

$scope.infoWindow = false;

然后我有一个谷歌地图监听器,可以像这样点击:

google.maps.event.addListener(circle, 'click', function(event) {
$scope.toggleInfoWindow();
});

哪个正在触发这个函数:

$scope.toggleInfoWindow = function() {
$scope.infoWindow = !$scope.infoWindow;
}

最后我的模板中有以下内容:

<div ng-show="infoWindow"><h1>Info Window</h1></div>

应该在有人单击圆圈时显示 div,但它不会对 $scope.infoWindow 中的更改使用react。我确定它也在发生变化,因为我使用 console.log() 记录了它在点击时的值,它确实从“false”变为“true”等。

那么这里发生了什么?

最佳答案

只要你在 Angular 之外做一些事情,你就需要使用 $scope.$apply() 。正如您提到的,您正在使用谷歌地图,因此需要在此处添加该行。

google.maps.event.addListener(circle, 'click', function(event) {
$scope.toggleInfoWindow();
$scope.$apply();
});

这是它的文档:https://docs.angularjs.org/api/ng/type/ $rootScope.Scope#$apply

关于javascript - Ng-show 对范围变量变化没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23931799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com