Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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
Javascript AngularJS:如何比较newValue和oldValue_Javascript_Css_Angularjs - Fatal编程技术网

Javascript AngularJS:如何比较newValue和oldValue

Javascript AngularJS:如何比较newValue和oldValue,javascript,css,angularjs,Javascript,Css,Angularjs,我正在使用为Angular找到的窗口调整指令。除了多重触发问题外,它工作得很好。我正在使用地图,因此我无法根据地图分区高度进行多次重画。该示例将触发3次,即使值没有更改。我知道我需要添加一个if语句newValue!=旧值的手表,但我得到了太多的摘要周期错误。如何将其更改为使用if语句? 更新 我如何实现这一点? 您应该考虑在窗口大小调整上使用节流功能。我该怎么做呢搜索一个实现我有,所有的例子都在观察ng模型选项的变化。我需要查看指令窗口调整事件的大小,你应该考虑在窗口大小调整上使用节流功能。

我正在使用为Angular找到的窗口调整指令。除了多重触发问题外,它工作得很好。我正在使用地图,因此我无法根据地图分区高度进行多次重画。该示例将触发3次,即使值没有更改。我知道我需要添加一个if语句newValue!=旧值的手表,但我得到了太多的摘要周期错误。如何将其更改为使用if语句?

更新 我如何实现这一点?

您应该考虑在窗口大小调整上使用节流功能。我该怎么做呢搜索一个实现我有,所有的例子都在观察ng模型选项的变化。我需要查看指令窗口调整事件的大小,你应该考虑在窗口大小调整上使用节流功能。我该怎么做呢搜索一个实现我有,所有的例子都在观察ng模型选项的变化。我需要看指令窗口。对不起,
app.directive('resize', function ($window) {
    return function (scope, element, attr) {

        var w = angular.element($window);
        scope.$watch(function () {
            return {
                'h': window.innerHeight, 
                'w': window.innerWidth
            };
        }, function (newValue, oldValue) {
            console.log(newValue, oldValue);
            scope.windowHeight = newValue.h;
            scope.windowWidth = newValue.w;

            scope.resizeWithOffset = function (offsetH) {
                scope.$eval(attr.notifier);
                return { 
                    'height': (newValue.h - offsetH) + 'px'                    
                };
            };

        }, true);

        w.bind('resize', function () {
            scope.$apply();
        });
    }
});