请帮我实现这个函数。我的$scope
中有一个项目数组。现在,当我单击Add Item按钮时,我希望将一个新项推送到该数组的第一个索引或0索引。提前谢谢。:)
下面是一个可以正常工作的jsFiddle:
HTML:
<div ng-controller="Ctrl">
{{data}}<br/>
<input type="button" ng-click="addItem()" value="Add Item" />
</div>
JavaScript:
function Ctrl($scope) {
$scope.data = [
new String('Item 5'), new String('Item 4'), new String('Item 3'), new String('Item 2'), new String('Item 1')];
$scope.addItem = function () {
var c = $scope.data.length + 1;
var item = new String('Item ' + c)
$scope.data.push(item);
};
}
发布于 2013-07-24 14:52:22
通过使用splice()而不是push()并指定要插入的数组索引,解决了我的问题。
HTML:
<div ng-controller="Ctrl">
<pre>{{data}}</pre><br/>
<input type="button" ng-click="addItem()" value="Add Item" />
</div>
Javascript:
function Ctrl($scope) {
$scope.data = [
new String('Item 4'), new String('Item 3'), new String('Item 2'), new String('Item 1')];
$scope.addItem = function () {
var c = $scope.data.length + 1;
var item = new String('Item ' + c)
$scope.data.splice(0, 0, item);
};
}
这是针对这一点的更新的fiddle。
发布于 2015-02-17 08:20:57
您可以使用unshift函数。
function Ctrl($scope) {
$scope.data = [
new String('Item 5'), new String('Item 4'), new String('Item 3'), new String('Item 2'), new String('Item 1')];
$scope.addItem = function () {
var item = new String('Item ' + c)
$scope.data.unshift(item);
};
}
发布于 2016-09-28 23:33:17
$scope.data.unshift(item);
有一行,我不确定为什么其他的让它变得如此困难
https://stackoverflow.com/questions/17826766
复制相似问题