2015-09-17 150 views
0

我有點新的角度。我的角度不工作的指令

我希望每當文檔寬度變化時都有一個偵聽器。

所以首先我決定增加一個$表是這樣的:

$scope.$watch(function(){ 
    return $window.innetWidth; 
}, function(n, o){ 
    console.log(n); 
    console.log(o); 
}); 

但它只能在頁面加載,而不是調整。

於是我決定寫這樣的指令:

app.directive('watchWidth', [function(){ 
     return { 
      restrict: 'A', 
      link: function(scope, element) { 
       element.style.display = 'none'; 

       $scope.$watch(function() { 
        return element.innerWidth; 
       }, function (n,o) { 
        console.log(n); 
        console.log(o); 
       }); 
      } 
     }; 
    }]); 

並添加指令到我的NG-觀點:

<div watchWidth ng-view class="main-wrapper"></div> 

但沒有工作,在控制檯沒有錯誤,我不知道我該怎麼做!

請幫忙嗎?

+0

你是否看到這篇文章http://stackoverflow.com/questions/23044338/window-resize-directive? – aSoler

+0

試試這個:'clientWidth'而不是'innerWith' –

+0

或者用jquery:'$(element).innerWidth()' –

回答

1

你好,這是我的方法來調整特定元素

.directive('resize', function (Ls) { 
    return function (scope, element, attr) { 
     scope.resizeWithOffset = function (offsetH) { 
       return { 
        'min-height': (window.innerHeight - offsetH) + 'px', 
        'max-height': (window.innerHeight - offsetH) + 'px' 
       }; 
     } 
    } 
}) 

在HTML它看起來像這樣

<ion-scroll ng-style="resizeWithOffset(270)" resize></ion-scroll> 

基本元素,現在重新調整到窗口高度 - 身高你可以指定(在這種情況下爲270px)