每次调整窗口大小时,如何从angular指令更新元素宽度?
现在只绑定一次。
指令
function calculateGameWidth () {
scope.responsiveGameWidth = Math.floor(( window.innerWidth - 22 ) / Math.floor(( window.innerWidth - 22 ) / 232 )) - 6;
return scope.responsiveGameWidth;
}
calculateGameWidth();
//On resize
window.onresize = function () {
calculateGameWidth();
}
HTML
<li ng-style="{width: responsiveGameWidth+'px'}"></li>
提前感谢。
答案 0 :(得分:1)
您正在角度周期之外进行范围更新。
您可以使用
解决此问题function calculateGameWidth () {
scope.responsiveGameWidth = Math.floor(( window.innerWidth - 22 ) / Math.floor(( window.innerWidth - 22 ) / 232 )) - 6;
scope.$apply();
}
使用你的变量,而不是函数
<li ng-style="{width: responsiveGameWidth+'px'}"></li>