У меня есть таблица
<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
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',
};
}
}
}
})
Вы можете сделать это в своем контроллере, но вам нужно использовать услугу $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.
и т.п.