我需要能够在同一页面上使用一个"创建"按钮。我的逻辑如下:点击创建按钮后,我的其余api会为该特定图表发回数据。当我有数据时,我将它绑定到我的控制器上的系列变量。现在我有一个"全球"我的控制器上的系列变量,每当数据从REST返回时我都会更新它,所以我的所有图表都具有相同的值并且看起来相同(作为概念验证,看看绘图图表是否会起作用)。我如何制作它,以便每个图表都有自己的数据系列?每次创建图表时是否需要设置图表ID,然后找到该ID并为其创建系列?这是我的代码
<md-button class="md-raised md-primary"
ng-click="chartGridCtrl.addChart()">Create
</md-button>
<div layout="column" flex>
<md-divider/>
<div flex ng-cloak>
<md-grid-list
md-cols="1" md-cols-sm="2" md-cols-md="3" md-cols-gt-md="6"
md-row-height-gt-md="1:1" md-row-height="4:3"
md-gutter="8px" md-gutter-gt-sm="4px">
<md-grid-tile ng-repeat="tile in chartGridCtrl.tiles"
md-rowspan="{{tile.span.row}}"
md-colspan="{{tile.span.col}}"
style="background-color: #00ad9c">
<md-card>Chart card
<div class="col-md-6">
<div>
<snapshot-bar-chart // this is my custom directive for chart
data="[chartGridCtrl.series]">
</snapshot-bar-chart>
</div>
</div>
</md-card>
</md-grid-tile>
</md-grid-list>
</div>
</div>
控制器(我省略了构造函数等):
export class ChartGridController {
private series = [];
private tiles:Object[];
public addChart = () => {
this.tiles.push(
{
title: "anotherTile",
span: {row: 2, col: 2}
});
// get REST data and update series variable
};
}