我目前正在开发Angular中的应用程序.到目前为止,一切都很顺利.对于棱角分明,我真的非常非常新,我很惊讶第一个真正的障碍花了这么长时间.
情况:
我有一个对象数组,每个对象都有一个订单.
category.items = [{id: 1, order: 1, type: {}, ...}, {id: 54, order: 2, type: {}, ...}, {id: 3, order: 3, type: {}, ...}]
Run Code Online (Sandbox Code Playgroud)
用户需要能够重新排列这些项目.必须将新订单设置为对象属性"订单".
在html中,这些对象的呈现方式如下:
<div class="category">
<div class="item" ng-repeat="(itemIndex, item) in category.items track by $index">
<div class="header">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在header-div中我有一个输入字段,类型为select.
<select ng-model="item.order" ng-change="changeItemOrder((itemIndex + 1), item.order, itemIndex)">
<option ng-repeat="item in category.items" ng-value="($index + 1)">{{$index + 1}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
changeItemOrder的代码:
$scope.changeItemOrder = function(old_order, new_order, item_index) {
new_order = parseInt(new_order);
if (old_order != new_order) {
var …Run Code Online (Sandbox Code Playgroud) javascript angularjs ng-options angular-ngmodel angularjs-ng-options