我有一個md-card
與此代碼:NG-風格不刷新動態
<md-card ng-style="{ width: pageWidth > 900 ? '40vw' : '80vw' }">...</md-card>
pageWidth
是$scope
變量綁定到$(window).width()
。以下是此代碼:
$scope.pageWidth = $(window).width();
$(window).resize(() => {
$scope.pageWidth = $(window).width();
console.log('page width: ' + $scope.pageWidth);
})
$(document).ready(() => {
$(window).resize(() => {
$scope.pageWidth = $(window).width();
console.log('page width: ' + $scope.pageWidth);
})
})
樣式在頁面加載時正確應用,但不是當我手動調整頁面大小時。正如你在第二個代碼塊中看到的那樣,我向處理程序添加了一條console.log
語句,所以我知道$scope.pageWidth
正在更新,每更改一個寬度的像素。但是,md卡的寬度不會從一個變爲另一個。這裏發生了什麼?
並且在您將此標記爲重複項之前,人們之前已經詢問過此問題,但未以其答案適用於我的情況。
嘗試在scope.apply()中包裝調整大小 –