动态更改ng个重复元素的宽度
Change width on ng-repeat elements dynamically
我想通过调用一个函数来更改ng repeat的所有元素的宽度。这是我的HTML代码:
<div ng-controller="fillTab">
<table>
<tr>
<td ng-repeat="z in downLine" class="row">
<table class="contUser" >
<tr>
<td>
<img src="{{z.picture}}" class='mask-pic'></img>
<p>Sometext</p>
</td>
<td>
<p>{{z.name}}</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
"下线"是从工厂中提取的阵列。这个数组的长度是可变的
ejec = {
"user0": {
"name": "ejec0"
},
"user1": {
"name": "ejec1"
},
"user2": {
"name": "ejec2"
}
}
因此,我需要的是一个函数,它可能在点击或定时器时,改变我每次调用ng时重复的所有class="row"元素的"宽度":
$scope.changeWidth= function() {
$scope.x = variableNumber;
ng-repeatElements.width = x + "px"; ????
}
您想要使用ng样式,可以在此处找到文档。如果你在控制器中创建样式对象,你也可以有一个修改它的函数:
$scope.rowWidth = {'width': '200px' };
function setRowWidth(newWidth){
$scope.rowWidth = {'width': newWidth + 'px' }
}
然后你可以将ng样式添加到你的html 中
<td ng-repeat="z in downLine" ng-style="rowWidth">
只要范围变量rowWidth发生更改,视图就会根据角度渲染周期进行更新。
希望这能有所帮助!
使用ngClass
:
$scope.changeWidth= function() {
$scope.className = 'large';
}
<td ng-repeat="z in downLine" class="row" ng-class="className">
请参阅fiddle
我认为您可以在控制器中使用一个标志,并使用$timeout/$interval或控制器函数设置该类变量的新值。
见下文
var module = angular.module('myapp', []);
module.controller('controller', ['$scope', '$interval', function($scope, $interval){
$scope.items = [
{
"name": "ejec0"
},
{
"name": "ejec1"
},
{
"name": "ejec2"
}];
$scope.class = 'base';
$interval(function(){
if($scope.class==='base') $scope.class='change';
else $scope.class='base';
}, 1000);
}]);
.base{with:50px; background-color:red;}
.change{with:150px; background-color:yellow;}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html ng-app="myapp">
<head>
</head>
<body ng-controller="controller">
<table>
<tr ng-repeat="item in items" ng-class="class">
<td ng-bind="item.name"></td>
</tr>
</table>
</body>
</html>
相关文章:
- 正在ng重复元素上添加事件
- Ng隐藏在Ng-click元素之外
- 混合元素的有角度的ng重复
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 是否可以在第n个元素处重复启动ng
- AngularJs的ng-click$事件将子元素作为目标传递
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 在 ng-if 编译后访问指令中的 DOM 元素
- 如何在更改时显示ng个重复元素的总和
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 使用 ng-repeat访问 ng 表单元素/值
- 需要在量角器中找到使用ng中继器的li元素的数量
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 列出每行2个元素的最佳方式是按角度重复ng
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 如何在AnglujarJS ng中继器中选择特定元素
- angular元素在通过ng类添加类时不起作用
- ng重复向一个元素添加条件类
- 为每个元素 ng-repeat 应用自定义 ng-attr