我想定义一个包含变量的变量。在这个例子中,我想传递的变量是“filldata”。
我尝试使用$ filldata以及+ filldata +传递它。
if (fill == true) {
$filldata = "fill: true,";
} else {
$filldata = "fill: false,";
};
if (amount == true) {
var set1 = {
label: "Earnings",
id: "earnings",
data: data1,
points: {
show: true,
},
bars: {
show: false,
barWidth: 12,
aling: 'center'
},
lines: {
show: true,
$filldata
},
yaxis: 1
};
} else {
var set1 = "";
}
答案 0 :(得分:2)
由于您只是尝试使用某个变量的值创建一个名为'fill'的布尔属性,也称为fill(使用繁琐的truthy / falsy值),然后您可以完全跳过创建中间$ filldata变量使用内联求值创建属性。它更简洁,更明显。
尝试:
if (amount == true) {
var set1 = {
label: "Earnings",
id: "earnings",
data: data1,
points: {
show: true,
},
bars: {
show: false,
barWidth: 12,
aling: 'center'
},
lines: {
show: true,
fill: fill==true
},
yaxis: 1
};
} else {
var set1 = "";
}
编辑:
另外,请注意,如果您打算在别处使用它,那么在if块范围内声明变量set1并不是一个好习惯。一个更好的选择是:
var set1 = (amount == true) ?
{...your object as defined above...}
: "";