当视口小于或等于641px时,我试图将类添加到我的侧边栏,我必须观察该窗口的宽度
$scope.$watch(function(){
return $window.innerWidth;
}, function(value) {
if (value <= 641) {
logger.info('!!!less than 641');
vm.singleColumn = true;
};
});
它会在第一次加载时登录,但是当我调整大小时,我必须在它再次触发之前进行一些点击.例如.我调整了大小,然后点击了一个带有ng-click行为的项目,那是唯一一次,它再次登录.
我已经阅读了一些问题,这可能是由于$digest和$apply?
有人可以解释我的困惑.
解决方法:
您需要触发摘要周期,否则视图不会意识到值已更新.
$scope.$watch(function(){
return $window.innerWidth;
}, function(value) {
if (value <= 641) {
logger.info('!!!less than 641');
vm.singleColumn = true;
$scope.$apply();
};
});