【发布时间】:2019-04-25 17:51:00
【问题描述】:
我已经提到了我的项目的完整代码。
Component.ts
这是在表格中填充数据的方法:
public get_planet_positions(pos_array) {
let planet_pos_array = []
let data_array = [[
[], [], [], []
], [
[], [], [], []
], [
[], [], [], []
], [
[], [], [], []
]]
let planets = [
"Sun",
"Moo",
"Mar",
"Mer",
"Jup",
"Ven",
"Sat",
"Rah",
"Ket",
"Asc"
]
var messageStringAfter = "";
for (let i = 0; i < planets.length; i += 1) {
planet_pos_array.push([
planets[i],
this.planet_alphabet[pos_array[i]]
])
console.log(planet_pos_array)
}
for (let i = 0; i < data_array.length; i += 1) {
for (let j = 0; j < data_array.length; j += 1) {
for (let k = 0; k < planet_pos_array.length; k += 1) {
if (i + "," + j == planet_pos_array[k][1]) {
data_array[i][j].push(planet_pos_array[k][0]);
}
}
}
}
return data_array
}
这个循环是调用那个函数 10 次:
for (let i = 1; i < this.arrays.length; i++) {
console.log("ll", this.arrays[i])
this.planets_array
.push(this.get_planet_positions(this.arrays[i]));
}
HTML
动态创建表:
<div class="col-md-4" *ngFor="let ar of arrays|slice:1:7;index as i">
<div>
<div class="chart_row" *ngFor="let row of planets_array[i]">
<div class="chart_cell chart cell " *ngFor="let cell of row ; index as j;odd as odd; even as even" [ngClass]="['cell1','cell2','cell3','cell4','cell5','cell6']">
<div class="">
<p class="para">{{j+1}}</p>
</div>
<br>
</div>
</div>
</div>
实际输出
预期输出
每个框都应填充不同的颜色。是否有捷径可寻?如果是这样,很想看看最好的方法。
非常感谢您。
【问题讨论】:
-
可以在stackblitz中分享你的代码
-
您可以使用chancejs.com/web/color.html 生成随机颜色。您可以在处理时为对象中的颜色添加新值。
-
@BalajiV 这是我的代码,我需要为每个图表单元格提供单独的 css stackblitz.com/edit/…