2015-07-01 71 views
0

我有一個表AngularJS小分辨率NG-點擊僅

<table> 
    <tr> 
     <td>Some</td> 
     <td>Some</td> 
     <td>Some</td> 
     <td><a href="#" class="btn">Go Btn</td> 
    </tr> 
</table> 

在我想隱藏按鈕,並在所有的標籤鏈接小型設備。

所以,我需要這樣的東西

<table> 
    <tr ng-click="if(window.width()<480) window.location.href=url.html"> 
     ... 
    </tr> 
</table> 

我需要實現這種情況下進行了大量的表。那麼我可以在ng-click derictive的某個地方做這個邏輯嗎?也許我需要擴展它或創建一個新的?

只是請建議我角度的方式很好的解決方案。 感謝名單

回答

0

你可以做到這一點在您的控制器,但你需要使用$window服務:

app.controller("myCtrl", ["$scope", "$window", function($scope, $window){ 
    $scope.myFunction = function(){ 
     if($window.document.body.clientWidth < 480){ 
      // ... 
     } 
    }; 
}]); 

ng-click="myFunction()" 

或者創建一個自定義的指令

或者只是使用CSS @media寬度檢查隱藏此元素並顯示anoter沒有ng-click。

0

CSS是好的,如果想要可指令的解決方案試試這個

<div ng-style="showbtnornot()" buttondirective> 

這將是該指令,這是不是100%準確,但它應該給你的想法

.directive('buttondirective', function (Ls, window) { 
     return function (scope, element, attr, window) { 
      scope.showbtnornot= function() { 
      if(window.innerWidth < 400){ 
      return { 
       'display': 'none', 

      }; 
     } else { 

      return { 
       'display': 'block', 

      }; 
     } 
    } 
} 
})