我是Angular.js的新手,在排序数组和处理排序数据时遇到了一些问题.
我有一个包含项目的列表,并希望按"Store.storeName"排序,这是迄今为止的工作.但在排序数据后,我的删除功能不再起作用了.我认为这是因为排序后$ index是错误的,所以删除了错误的数据.
我怎么解决这个问题?订购范围中的数据而不是视图中的数据?怎么做?
这是一些相关的代码:
在视图中:
<tr ng-repeat="item in items | orderBy:'Store.storeName'">
<td><input class="toggle" type="checkbox" ng-model="item.Completed"></td>
<td>{{item.Name}}</td>
<td>{{item.Quantity}} Stk.</td>
<td>{{item.Price || 0 | number:2}} €</td>
<td>{{item.Quantity*item.Price|| 0 | number:2}} €</td>
<td>{{item.Store.storeName}}</td>
<td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我有这个删除功能,它应该删除特定的数据:
$scope.removeItem = function(index){
$scope.items.splice(index,1);
}
Run Code Online (Sandbox Code Playgroud)
在View中订购之前,这很好用.如果遗漏了重要的东西,请现在就告诉我.
谢谢!
是否有特殊的骨干 - 格式化数字的方式?我想用两个小数点显示它们,如"2.00"中的"2".
这应该在tepmlate吗?
这是模板中的一个示例:
<td><input value="<%- price %>"></td>
Run Code Online (Sandbox Code Playgroud)
在Angular.js中你可以使用表达式和过滤器来实现这一点,这在骨干中是怎样的?