【发布时间】:2023-03-18 08:30:01
【问题描述】:
我这里有一段代码:
<tr ng-repeat="ticket in allTickets | orderBy:sortType:sortReverse|filter:searchTicket track by $index">
<td>{{ticket.id}}</td>
<td><a th:href="@{overview/{{ticket.id}}}">{{ticket.name}}</a></td>
<td>{{ticket.desiredResolutionDate}}</td>
<td>{{ticket.urgency}}</td>
<td>{{ticket.state}}</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-primary" ng-bind="action+$index"></button>
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="" ng-click="changeAction('approve',$index)">Approve</a></li>
<li><a href="" ng-click="changeAction('decline',$index)">Decline</a></li>
<li><a href="" ng-click="changeAction('submit',$index)">Submit</a></li>
<li><a href="" ng-click="changeAction('cancel',$index)">Cancel</a></li>
<li><a href="" ng-click="changeAction('assign',$index)">Assign to me</a></li>
<li><a href="" ng-click="changeAction('done',$index)">Done</a></li>
<li><a href="" ng-click="changeAction('leavefeedback',$index)">Leave Feedback</a></li>
<li><a href="" ng-click="changeAction('viewfeedback',$index)">View Feedback</a></li>
</ul>
</div>
</td>
</tr>
控制器功能:
$scope.changeAction = function (action, index) {
if (index == 0) {
$scope.action0 = action;
}
else if (index == 1) {
$scope.action1 = action;
} else if (index == 2) {
$scope.action2 = action;
} else if (index == 3) {
$scope.action3 = action;
} else if (index == 4) {
$scope.action4 = action;
} else if (index == 5) {
$scope.action5 = action;
} else if (index == 6) {
$scope.action6 = action;
} else if (index == 7) {
$scope.action7 = action;
}
}
我想在单击下拉项时更改按钮值。我想将所有按钮值绑定到像'action'+ $index这样的表达式,因此我想将第一个按钮绑定到'action0',第二个按钮绑定到'action1'等。我的例子不起作用。
【问题讨论】:
-
关于 Angular 1.x 版本的问题应该标记为
angular.js,而不是angular -
您只是忘记引用“动作”吗?在您的描述中,它被引用但不在代码中
ng-bind="action+$index"-> 尝试ng-bind="'action'+$index"