通过Angular Directive按顺序显示月份
Getting months to display in order in through Angular Directive
jsFiddle
我正在尝试使用Angular的ng repeat指令构建一个表,该指令显示两年的数据:
--------------------------------------------------------
January | jan text this year | jan text last year
February | feb text this year | feb text last year
March | march text this year | march text last year
--------------------------------------------------------
我最终得到的是:
--------------------------------------------------------
January | feb text this year | feb text last year
February | jan text this year | jan text last year
March | march text this year | march text last year
--------------------------------------------------------
我有一个有两年数据的物体。
$scope.data = {
thisYear: {
January: 'jan text this year',
February: 'feb text this year',
March: 'march text this year'
// etc..
},
lastYear: {
January: 'jan text last year',
February: 'feb text last year',
March: 'march text last year'
// etc..
}
};
以及一个简单的阵列:$scope.months = ['January', 'February', 'March'];
几个月很容易,工作也很好:
<div ng-repeat="month in months">{{ month }}</div>
然而,数据并没有按预期工作:
<div ng-repeat="d in data.thisYear">{{ d || "none" }}</div>
数据按字母顺序迭代,这意味着当月的数据不一致。由于Angular数据绑定不允许使用基元类型,所以我无法用多维数组来解决它。
我觉得我忽略了一些愚蠢和微小的事情,我知道在Angular之外我可以很容易地完成这件事,但我正在努力在他们的系统中工作。也许是自定义指令?
您可以通过循环月来完成每一列
<div ng-repeat="month in months">{{ data.lastYear[month] || "none" }}</div>
演示
就我个人而言,我会将数据重组为类似的东西
[{year: 2013, months:[{month: 'val', text:'val'},{month: 'val', text:'val'}....]},{ year: 2012:.....}]
您关于无法对数组执行此操作的评论偏离了轨道。对象没有顺序,而数组有
难道你不能改变你的数据结构,让你在一个包含你需要的所有信息的数组上迭代吗?类似这样的东西:
$scope.data = [
{ month: 'January', thisYear: 'jan text this year', lastYear: 'jan text last year' },
{ month: 'February', thisYear: 'feb text this year', lastYear: 'feb text last year' },
{ month: 'March', thisYear: 'mar text this year', lastYear: 'mar text last year' },
// etc..
];
相关文章:
- 使用JS按顺序显示图像,而不是随机显示
- 如何随机显示列表项的顺序
- 我应该怎么做才能将这个数组从随机更改为在页面刷新时按顺序显示
- 批次图 在 X 轴上按顺序显示不同年份的数据
- 文本未按正确的顺序显示
- 要按顺序显示的图像
- 通过Angular Directive按顺序显示月份
- 如何知道选中/突出显示的文本jquery的顺序出现
- 循环中元素的显示顺序
- Javascript测试-使用Array.prototype以随机顺序显示选项
- 如何以反向/从右到左的顺序显示阿拉伯语网站的Nivo滑块分页
- 从下拉列表中的数组中选取某个项目,然后将其显示为第一项并按字母顺序显示
- 来自 flickr 的图像数组未按预期顺序显示
- 以随机顺序显示 ng 重复项目
- 按顺序显示动画 SVG 元素
- 如何更改服务器上项目的顺序,客户端获得正确的显示顺序
- 为什么JSON.stringify的显示顺序与遍历数组的顺序不同
- 解析笑脸与文本字符串html和保持笑脸在显示顺序
- HTML SSE或PHP SSE . innerhtml显示顺序
- 使用CF/Javascript/HTML随机化DB中MC答案的显示顺序