调整大小后更新ng样式宽度

时间:2017-05-25 13:44:11

标签: javascript angular

每次调整窗口大小时,如何从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>

提前感谢。

1 个答案:

答案 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>