我已经开始概念本周与角料一点点的证明,并在此POC,我有一个显示嵌套数据的表:从控制器如何用嵌套数据重新初始化Angular模型?
<table>
<thead>
<tr>
<th colspan="2">Employee Name</th>
<th>Ovr</th>
<th> </th>
<tr>
<thead>
<tbody ng-repeat="employee in evaluation.employees" >
<tr ng-class-odd="'odd-row'">
<td class="photo"><img src="{{employee.photo}}" /></td>
<td class="name"><span class="firstname">{{employee.firstName}}</span><br/><span class="lastname">{{employee.lastName}}</span></td>
<td class="column-align-center"><span>{{employee.grade}}</span></td>
<td class="column-align-center"><md-button ng-click="toggleAptitudes(employee.id)" class="md-raised md-primary custom-button">+</md-button></td>
</tr>
<tr ng-repeat="skill in employee.skills" ng-show="employee.displayAptitudes">
<td colspan="4" style="padding: 0px 20px 0px 20px;">
<md-slider-container>
<span>{{skill.name}}</span>
<md-slider class="md-primary" flex min="0" max="100" ng-model="skill.value" ng-change="calculateAptitudesGrade(employee.id)" aria-label="skill.name" id="red-slider">
</md-slider>
<md-input-container>
<input flex type="number" ng-model="skill.value" aria-label="skill.title" aria-controls="red-slider">
</md-input-container>
</md-slider-container>
</td>
</tr>
</tbody>
</table>
段:
var self = this;
// Mock data...
self.employees = [
{ id: 1, firstName: 'FirstName1', lastName: 'LastName1', photo: 'img/photo1.png', grade: 0, aptitudes: [...], displayAptitudes: false },
{ id: 2, firstName: 'FirstName2', lastName: 'LastName2', photo: 'img/photo2.png', grade: 0, aptitudes: [...], displayAptitudes: false }
];
$scope.calculateAptitudesGrade = function(employeeId) {
// The overall calculation happen here where I collect all the skills values for the employee.
...
};
对于我修改的第一行,它工作正常。我点击切换按钮,它显示了滑块的技能列表,我移动滑块,整体计算效果非常好。
问题:无论何时我选择另一位员工,滑块设置与以前的值可视化。如何将每个员工的滑块设置为0?
您是否试图让1个滑块随所选员工更新? – LoganRx
'toggleAptitudes'功能是什么样的?我改变了'NG-click',它似乎是为我工作:http://codepen.io/jamesfeigel/pen/WojvdV – machinehead115
@LoganRx当我移动滑块,计算适用于所选择的员工和我得到一个等级显示在行中。但是,如果我切换另一位员工,则所有滑块都只能以前面的值设置,模型不受影响。 –