Javascript 我如何通过json';在使用ng repeat循环通过相同的json时的属性?
html:-Javascript 我如何通过json';在使用ng repeat循环通过相同的json时的属性?,javascript,angularjs,json,ng-repeat,Javascript,Angularjs,Json,Ng Repeat,html:- <div class="question" ng-repeat="x in asdf"> <p >{{x}}</p> </div> 这就是我要做的,按日期排序(日期是json中的一个属性) {x} 也试过 <div class="question" ng-repeat="x in asdf | orderBy : x.date"> <div class="question" ng-repeat=
<div class="question" ng-repeat="x in asdf">
<p >{{x}}</p>
</div>
这就是我要做的,按日期排序(日期是json中的一个属性)
{x}
也试过
<div class="question" ng-repeat="x in asdf | orderBy : x.date">
<div class="question" ng-repeat="x in asdf | orderBy : asdf.date">
似乎什么都不管用
1-为什么这不可能
2-我应该做些什么来获得类似的结果
注意-我想用class=“question”重复特定div,不想创建另一个div。在本例中,orderBy filter参数必须是字符串。因此,这应该是可行的:
<div class="question" ng-repeat="x in asdf | orderBy : 'date'">
<p>{{x}}</p>
</div>
{{x}
以下是文档中的解释:
字符串:一个有角度的表达式。将对该表达式求值
并将结果用于排序。对于
例如,使用“label”按名为label或的属性进行排序
“label.substring(0,3)”按标签的前3个字符排序
财产。(常量表达式的结果被解释为
用于比较的属性名称。例如,使用“特殊”
将名称命名为“”(注意额外的一对引号)以按名为
特殊名称。)
从
编辑:但orderBy筛选器仅适用于数组(或类似数组的对象)
集合可以是数组或类似数组的对象(例如节点列表、,
jQuery对象、类型(数组、字符串等)
因此,您首先需要将数据放入不同的结构中,或者使用自定义解决方案对其进行排序。例如:
在本例中,orderBy筛选器参数必须是字符串。因此,这应该是可行的:
<div class="question" ng-repeat="x in asdf | orderBy : 'date'">
<p>{{x}}</p>
</div>
{{x}
以下是文档中的解释:
字符串:一个有角度的表达式。将对该表达式求值
并将结果用于排序。对于
例如,使用“label”按名为label或的属性进行排序
“label.substring(0,3)”按标签的前3个字符排序
财产。(常量表达式的结果被解释为
用于比较的属性名称。例如,使用“特殊”
将名称命名为“”(注意额外的一对引号)以按名为
特殊名称。)
从
编辑:但orderBy筛选器仅适用于数组(或类似数组的对象)
集合可以是数组或类似数组的对象(例如节点列表、,
jQuery对象、类型(数组、字符串等)
因此,您首先需要将数据放入不同的结构中,或者使用自定义解决方案对其进行排序。例如:
这不是JSON。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就没有处理JSON。进一步推断,JavaScript对象(即您拥有的对象)不可排序,因此您无法对其进行排序。为什么不将分配给
$scope.asdf
的对象设为数组,而不是对象?@Dellirium:,这不再是真的,但事实上它不再是真的,这并不是特别有用,所以…:-)@Ankurmawaha:没关系,它不是JSON。这是一个对象初始值设定项。是吗?JSON——用于数据交换的文本符号——是JavaScript对象初始值设定项语法的子集。我的观点不是你必须改变任何事情。别再把它当作JSON了。在源代码中,如果它不是字符串,那么它就不是JSON。这不是JSON。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就没有处理JSON。进一步推断,JavaScript对象(即您拥有的对象)不可排序,因此您无法对其进行排序。为什么不将分配给$scope.asdf
的对象设为数组,而不是对象?@Dellirium:,这不再是真的,但事实上它不再是真的,这并不是特别有用,所以…:-)@Ankurmawaha:没关系,它不是JSON。这是一个对象初始值设定项。是吗?JSON——用于数据交换的文本符号——是JavaScript对象初始值设定项语法的子集。我的观点不是你必须改变任何事情。别再把它当作JSON了。在你的源代码中,如果不是字符串,就不是JSON。在这种情况下,这不起作用,你能给出一个工作的代码片段吗?啊,对不起,我的错误,orderBy筛选器只在数组上工作。在这种情况下,这不起作用,你能给出一个工作的代码片段吗?啊,对不起,我的错误,orderBy筛选器只在数组上工作。
<div class="question" ng-repeat="x in asdf | orderBy : 'date'">
<p>{{x}}</p>
</div>