Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 引用AngularJS中数组的原始索引_Arrays_Angularjs - Fatal编程技术网

Arrays 引用AngularJS中数组的原始索引

Arrays 引用AngularJS中数组的原始索引,arrays,angularjs,Arrays,Angularjs,刚进入AngularJS,我有一个简单的问题 当存在“orderBy”时,$索引引用已排序的数组。排序前引用原始数组索引的最简单方法是什么 <div ng-init="names=['Jack Doe','Dave Smith','Jone Johnson','Nancy Doe','Adam Smith']"> <h3>Presenters</h3> <ul> <li ng-repeat="p

刚进入AngularJS,我有一个简单的问题

当存在“orderBy”时,$索引引用已排序的数组。排序前引用原始数组索引的最简单方法是什么

<div ng-init="names=['Jack Doe','Dave Smith','Jone Johnson','Nancy Doe','Adam Smith']">
    <h3>Presenters</h3>
        <ul>
            <li ng-repeat="person in names | orderBy:'toString()'">
                [{{$index+1}} : {{person}}]
            </li>
        </ul>
</div>

演讲者
  • [{{$index+1}}:{{{person}]
如果原始订单具有业务意义,您可以将其存储在您的模型中

function Person(name, order) {
    this.name = name || '';
    this.order = order;    
}

var names = ['Jack Doe', 'Dave Smith', 'Jone Johnson', 'Nancy Doe', 'Adam Smith'];

var people = [];
for(var i = 0; i < names.length; i++) {
    people.push(new Person(names[i], i + 1));
}

<li ng-repeat="person in people | orderBy:'name'">
    [{{person.order}} : {{person.name}}]
</li>
职能人员(姓名、顺序){
this.name=名称| |“”;
这个。顺序=顺序;
}
变量名称=['Jack Doe','Dave Smith','Jone Johnson','Nancy Doe','Adam Smith'];
var people=[];
对于(var i=0;i
[{{person.order}}:{{{person.name}]

如果原始订单具有业务意义,您可以将其存储在您的模型中

function Person(name, order) {
    this.name = name || '';
    this.order = order;    
}

var names = ['Jack Doe', 'Dave Smith', 'Jone Johnson', 'Nancy Doe', 'Adam Smith'];

var people = [];
for(var i = 0; i < names.length; i++) {
    people.push(new Person(names[i], i + 1));
}

<li ng-repeat="person in people | orderBy:'name'">
    [{{person.order}} : {{person.name}}]
</li>
职能人员(姓名、顺序){
this.name=名称| |“”;
这个。顺序=顺序;
}
变量名称=['Jack Doe','Dave Smith','Jone Johnson','Nancy Doe','Adam Smith'];
var people=[];
对于(var i=0;i
[{{person.order}}:{{{person.name}]


我找到了答案。这相当简单

由于原始数组仍然完好无损,而且AngularJS允许在绑定中使用表达式,所以只需使用一个简单的Javascript indexOf方法即可

<li ng-repeat="person in names | orderBy:'toString()'">
    [{{(names.indexOf(person)+1)}}  :  {{person}}]
</li>
  • [{{(姓名.索引of(个人)+1)}:{{{person}]

  • 谢谢。

    我找到了答案。这相当简单

    由于原始数组仍然完好无损,而且AngularJS允许在绑定中使用表达式,所以只需使用一个简单的Javascript indexOf方法即可

    <li ng-repeat="person in names | orderBy:'toString()'">
        [{{(names.indexOf(person)+1)}}  :  {{person}}]
    </li>
    
  • [{{(姓名.索引of(个人)+1)}:{{{person}]

  • 谢谢。

    我认为订购阵列的过程将从根本上改变它。你需要原始索引做什么?只是伸展腿看看有什么可能。ng repeat创建自己的作用域。原始阵列在控制器作用域中保持不变。我假设阵列的排序过程将从根本上改变它。你需要原始索引做什么?只是伸展腿看看有什么可能。ng repeat创建自己的作用域。原始阵列在控制器范围内保持不变。谢谢,但太复杂了。不是我想要的。我自己可能已经建立了
    模型,但是是的,如果不在业务模型中包装数据,那么它会更复杂。谢谢,但太复杂了。这不是我想要的。我自己可能已经设置了
    人员
    模型,但是是的,如果不在业务模型中包装数据,那么它会更复杂。