【发布时间】:2016-02-11 01:39:45
【问题描述】:
我有一个使用 ng-repeat=
填充的动态表如何使按钮动态化,作为按钮的硬代码,一旦单击启动计时器按钮一次,所有停止计时器按钮都会被禁用。 并且表单被提交了 n 次。
<table class="table">
<tr>
<th>Name
</th>
<th>Employees
</th>
<th>Head Office
</th>
</tr>
<tr ng-repeat="updateLeadEnvir in envirDetailsData">
<td>{{updateLeadEnvir.envirName}}
</td>
<td>{{updateLeadEnvir.envirDesc}}
</td>
<td><button ng-click="hidetimer = {{updateLeadEnvir.envirName}}; startTimer()" ng-disabled="timerRunning">Start Timer</button>
<button type="button" ng-click="stopTimer();hideMsg=true" ng-disabled="!timerRunning">Stop Timer</button>
<div class="col-xs-8 text-center" ng-show="hidetimer == {{updateLeadEnvir.envirName}}" > <timer>{{minutes}} minutes, {{seconds}} seconds.</timer></div>
</td>
</tr>
</table>
【问题讨论】:
-
请在您的描述中包含您的
startTimer()函数 -
您需要单独维护每行计时器的状态,而不是维护所有按钮的状态。您可以在一个顶级控制器中执行此操作,或者如果可能,通过创建一个新指令来呈现单行并单独跟踪其状态。您可能还需要更改
<timer>指令,以便拥有多个独立运行的副本。 -
您在 html 上处理的逻辑过多,应该在您的控制器上
标签: javascript angularjs button