Mat*_*yev 4 javascript scope angularjs
我正在尝试更改范围变量:$scope.tab每次窗口调整大小时$scope.tab == 'more'.
码:
$scope.closeMoreTab = function() {
if($scope.tab == 'more')
$scope.tab = 'extras';
};
angular.element($window).bind('resize', function() {
$scope.closeMoreTab();
});
Run Code Online (Sandbox Code Playgroud)
好吧,它确实在调用$scope.closeMoreTab(),而且它确实在改变$scope.tab变量,但实际上,它并没有改变视图上的任何内容.
我试过了:
console.log($scope);
Run Code Online (Sandbox Code Playgroud)
要检查变量tab,它确实变为'extras',但是当我这样做时:
<div>{{ tab }}</div>
Run Code Online (Sandbox Code Playgroud)
它告诉我,当前的tab变量仍然是"更多"
请帮忙.我坚持了1个小时,不知道为什么会这样或者做什么.
非常感谢
小智 6
你应该换你$scope.closeMoreTab();进入$scope.$apply的功能,因为这目前值发生变化,但不会触发消化周期:
angular.element($window).bind('resize', function() {
$scope.$apply(function() {
$scope.closeMoreTab();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |