我試圖創建一些自動調整大小的圓圈。問題是ng樣式屬性沒有更新樣式。 http://plnkr.co/edit/3HxSzWIyUsLUW6UwFlRR看到plunkerng樣式不更新寬度和高度
的Javascript:
$scope.sellingPoints = {
'1':{ 'text':'Newest Technologies'},
'2':{ 'text':'Rapid Development'},
'3':{ 'text':'Scaleable Solutions'},
'4':{ 'text':'Custom CMS'}
};
$scope.kpi = {};
$scope.sizes = {};
$scope.onResize = function() {
console.log('joe');
var kpifit = document.getElementById('fit');
$scope.sizes.width = kpifit.offsetWidth - 30;
$scope.kpi.width = $scope.sizes.width + 'px';
$scope.kpi.height = $scope.sizes.width + 'px';
console.log($scope.sizes.width);
}
angular.element($window).bind('resize', function() {
$scope.onResize();
})
$timeout(function() {
$scope.onResize();
}, 300);
HTML:
<div class="row no-margin">
<div class="col-md-3 col-xs-6" id="fit" ng-repeat="item in sellingPoints">
<div class="kpi" ng-style="{'width':kpi.width,'height':kpi.height}">
<div class="kpi-text">{{item.text}}</div>
</div>
</div>
</div>
此代碼是否在指令內?或在一個正常的頁面?如果它在頁面中,我認爲你應該按照這個順序調用controllerName.kpi.width。 –