我正在監視CSS樣式並更新基於該CSS樣式值的範圍內的變量。它第一次工作,但是當瀏覽器調整大小時,作用域得到更新,但ng樣式不會使用新的作用域參數更新。更新範圍時,ng-style變量不更新
JS:
.directive('monitorStyle', function() {
return {
link: function(scope, element, attrs) {
scope[attrs.updateVariable] = $(element).css(attrs.monitorStyle);
angular.element(window).on('resize', function() {
scope[attrs.updateVariable] = $(element).css(attrs.monitorStyle);
});
}
}
})
HTML:
<p class="text" monitor-style="font-size" update-variable="textHeight">Press "<img class="mini up" src="img/select-arrow.png" src="Up" ng-style="{'height': textHeight}">
我想,因爲這是人推薦做這個控制器之外。爲什麼在範圍更新時ng樣式不會更新?
您是否嘗試過使用$(窗口).resize而不是角?如果你想通過角度實現這一點,那麼下面的鏈接將幫助你。 http://stackoverflow.com/questions/23044338/window-resize-directive –
也許這個答案可能會幫助你http://stackoverflow.com/a/25111105/2353403 –
謝謝,Damnien回答如下。訣竅是添加範圍。$ apply();在指令 – user2476265