2017-02-26 83 views
1

我想調整我的div時,我按下按鈕更改。我使用的是ng-style,這是我在HTML中的代碼。不能調整大小格與ng樣式

<div id="lokacija" ng-style="myStyle"> 
    <button class="change" ng-show="pokazi" ng-click="myStyle={'height':'{{visina}}'} ;function() ">Change </button> 
</div> 

而且控制器:

angular.module('Bosk') 
.controller('StartCtrl', function($scope){ 
    $scope.visina="99px"; 
     $scope.funkcija = function(){ 
      var element = angular.element(document.querySelector('#lokacija')); 
      var height = element[0].offsetHeight; 
      if(height<100){    
      $scope.visina="400px"; 
      console.log('if'); 
      } 
      else{ 
       $scope.visina="99px"; 
       console.log('else'); 

      } 
    } 
}) 

就像你看到,我希望它當我按下一次按鈕,調整爲400像素,當我再次按下它,我希望它恢復到99 PX。當我第一次按它時,它會工作,但是當我想要返回它時,它不會。我必須刷新ng-style還是?

+2

'NG-click'有錯誤的表達,什麼是'功能()'在它..雖然它應該是'myStyle的= { '高度':visina}' –

+0

我的代碼作品,但我只想知道如何更新ng樣式。當我第一次按下按鈕時,它調整大小。但是,當我按下它不是。那就是問題所在。 –

回答

0

<!DOCTYPE html> 
 
<html ng-app="app"> 
 
<head> 
 
    <title></title> 
 
    <script src="https://code.angularjs.org/1.4.8/angular.js"></script> 
 
    <script type="text/javascript"> 
 
    var app = angular.module('app',[]); 
 
    app.controller('myCtrl',function myCtrl($scope){ 
 
     $scope.height = '20px'; 
 
     $scope.changeHeight = function(){ 
 
      $scope.height = $scope.divHeight+'px'; 
 
     }; 
 
    }) 
 

 
</script> 
 

 

 
</head> 
 
<body ng-controller="myCtrl"> 
 

 
    <div> 
 
     <input type="number" ng-model="divHeight" name=""> 
 
     <button ng-click="changeHeight()">change Height</button> 
 
    </div> 
 
    <div ng-style="{height:height}" style="background: red; margin-top: 12px"> 
 
     height = {{height}} 
 
    </div> 
 

 

 
</body> 
 
</html>