因此,我有一个JSON文件,其中包含以下数据:
{
"manufacturers": ["Sony", "Microsoft", "Nintendo", "Kita"]
}
这是我在我的NodeJS应用程序中获取它的方式:
let uploadrawdata = fs.readFileSync('./config/upload.json');
let uploaddata = JSON.parse(uploadrawdata);
然后我渲染视图:
res.render('users/upload', {uploaddata});
之后,在我的VueJS脚本中,我像这样添加它:
manufacturers: [{{uploaddata.manufacturers}}],
在控制台中,显示如下:manufacturers: [Sony,Microsoft,Nintendo,Kita]
我需要它像这样显示:manufacturers: ['Sony', 'Microsoft', 'Nintendo' ,'Kita']
有人能帮我解决这个问题吗?
发布于 2019-03-11 16:27:48
看起来你正在使用mustache
作为模板引擎。
当以这种方式呈现数组时,mustache
将对其进行迭代,并将数组的值与当前输出连接起来。这就是你的引号缺失的原因。它是这样做的:
var output = 'Sony' + 'Microsoft'
在普通JS中。最后一个字符串中缺少引号。
如果您想以JS对象的形式发送数据,可以这样做
res.render('users/upload', {uploaddata: JSON.stringify(uploaddata)});
并在Vue端解析它
manufacturers: JSON.parse('{{uploaddata}}').manufacturers,
注意{{uploaddata}}
周围的撇号。同样,mustache将按原样打印字符串,而不会将其嵌入到引号/撇号中。
https://stackoverflow.com/questions/55092006
复制相似问题