AngularJS кликает только на небольших разрешениях

0

У меня есть таблица

<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? Может быть, мне нужно расширить его или создать новый?

Пожалуйста, рекомендуйте мне хорошее решение с помощью Angular Way. Thanx

Теги:

2 ответа

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',

            };
        }
    }
}
})
0

Вы можете сделать это в своем контроллере, но вам нужно использовать услугу $window:

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

ng-click="myFunction()"

Или создайте настраиваемую директиву.

Или просто используйте проверку ширины CSS @media чтобы скрыть этот элемент и показать анотер без ng-click.

и т.п.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню