AngularJS ng仅单击小分辨率
我有一张桌子AngularJS ng仅单击小分辨率,angularjs,Angularjs,我有一张桌子 <table> <tr> <td>Some</td> <td>Some</td> <td>Some</td> <td><a href="#" class="btn">Go Btn</td> </tr> </table> 一些 一些 一些 去Btn 在小型设备上,我
<table>
<tr>
<td>Some</td>
<td>Some</td>
<td>Some</td>
<td><a href="#" class="btn">Go Btn</td>
</tr>
</table>
一些
一些
一些
去Btn
在小型设备上,我想隐藏按钮并在所有标签上建立链接
所以我需要像这样的东西
<table>
<tr ng-click="if(window.width()<480) window.location.href=url.html">
...
</tr>
</table>
...
我需要为很多表实现这个案例。我可以在ng click derictive的某个地方做这个逻辑吗?也许我需要扩展它或者创建一个新的
请用有角度的方法给我推荐一个好的解决方案。
Thanx您可以在控制器中执行,但您需要使用
$window
服务:
app.controller("myCtrl", ["$scope", "$window", function($scope, $window){
$scope.myFunction = function(){
if($window.document.body.clientWidth < 480){
// ...
}
};
}]);
ng-click="myFunction()"
app.controller(“myCtrl”、[“$scope”、“$window”、函数($scope、$window){
$scope.myFunction=function(){
如果($window.document.body.clientWidth<480){
// ...
}
};
}]);
ng click=“myFunction()”
或者创建一个自定义指令
或者只需使用CSS@media
宽度检查隐藏此元素并显示其他元素,而无需单击
等等。如果你想要一个指导性的解决方案,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',
};
}
}
}
})
指令('buttondirective',函数(Ls,窗口){
返回函数(范围、元素、属性、窗口){
scope.showbtnornot=函数(){
如果(窗内宽度<400){
返回{
“显示”:“无”,
};
}否则{
返回{
“显示”:“块”,
};
}
}
}
})