gpt4 book ai didi

javascript - 回调函数未被调用

转载 作者:行者123 更新时间:2023-11-30 16:53:02 28 4
gpt4 key购买 nike

代码如下:

$scope.$watch($scope.getWidth, $scope.adjustSidebar);

$scope.adjustSidebar = function (newValue, oldValue) {
if (newValue >= mobileView) {
if (angular.isDefined($cookieStore.get('sidebarToggle'))) {
$scope.sidebarToggle = $cookieStore.get('sidebarToggle');
} else {
$scope.sidebarToggle = true;
}
} else {
$scope.sidebarToggle = false;
}
};

如果我将 $scope.adjustSidebar 的定义作为 $watch 的第二个参数插入,代码可以正常工作。一旦我尝试像这样提取它,代码就会中断(即 $scope.adjustSidebar 不会在事件触发时执行)。为什么是这样?如果我将函数存储在变量中并使用变量作为参数或使用实际定义作为参数有什么区别?

提前致谢。

最佳答案

将回调移动到函数调用之后。

$scope.adjustSidebar = function (newValue, oldValue) {
if (newValue >= mobileView) {
if (angular.isDefined($cookieStore.get('sidebarToggle'))) {
$scope.sidebarToggle = $cookieStore.get('sidebarToggle');
} else {
$scope.sidebarToggle = true;
}
} else {
$scope.sidebarToggle = false;
}
};

$scope.$watch($scope.getWidth, $scope.adjustSidebar);

关于javascript - 回调函数未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202640/

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