我如何在前端js变量中使用车把数据
How can i use handlebars data in front end js variable
我正在将一个对象数组传递给车把。
我正在像这样在前端检索它
{{this.coment}}
对象包含这个:
`{
_id: "5c527707e28b4fac758cc674",
sectionId: "2",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test",
id: "72845"
}
]
},
{
_id: "5c5279f2e28b4fac758cc761",
sectionId: "3",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test2",
id: "37940"
}
]
},
{
_id: "5c527ce2e28b4fac758cc887",
sectionId: "1",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Hello",
id: "77251"
}
]
}`
请注意,它缺少数组的“[]”
我想知道是否可以将数据放在 js 变量中以便在前端像这样使用它:
var existingComments = [
{
_id: "5c527707e28b4fac758cc674",
sectionId: "2",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test",
id: "72845"
}
]
},
{
_id: "5c5279f2e28b4fac758cc761",
sectionId: "3",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test2",
id: "37940"
}
]
},
{
_id: "5c527ce2e28b4fac758cc887",
sectionId: "1",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Hello",
id: "77251"
}
]
}
];
非常感谢您的帮助!!!
一种方法是生成 script
标签。
<script type="application/javascript">var comment = {{{this.coment}}};</script>
现在,变量应该可以在您的 Javascript 中使用了。但是,我不喜欢这种方法,因为它使用了全局变量。
是的,您可以像这样在路由文件中创建助手来实现此目的
handlebars = handlebars.create({
helpers: {
assign:function (varName, varValue, options) {
if (!options.data.root) {
options.data.root = {};
}
options.data.root[varName] = varValue;
}
}
})
然后在前端你可以像这样初始化或赋值给变量
{{assign 'existingComments' this.coment}}
然后为了访问可以使用
{{@root.existingComments }}
我正在将一个对象数组传递给车把。 我正在像这样在前端检索它
{{this.coment}}
对象包含这个:
`{
_id: "5c527707e28b4fac758cc674",
sectionId: "2",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test",
id: "72845"
}
]
},
{
_id: "5c5279f2e28b4fac758cc761",
sectionId: "3",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test2",
id: "37940"
}
]
},
{
_id: "5c527ce2e28b4fac758cc887",
sectionId: "1",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Hello",
id: "77251"
}
]
}`
请注意,它缺少数组的“[]”
我想知道是否可以将数据放在 js 变量中以便在前端像这样使用它:
var existingComments = [
{
_id: "5c527707e28b4fac758cc674",
sectionId: "2",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test",
id: "72845"
}
]
},
{
_id: "5c5279f2e28b4fac758cc761",
sectionId: "3",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Test2",
id: "37940"
}
]
},
{
_id: "5c527ce2e28b4fac758cc887",
sectionId: "1",
comments: [
{
replies: [],
authorAvatarUrl:
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDW3D0Emu0_gpP-tAEGPjW88zSabvpdICv6BaoNLArqY3xB4NA",
authorName: "Jesus Zuñiga Vega",
authorId: "1",
authorUrl: "",
comment: "Hello",
id: "77251"
}
]
}
];
非常感谢您的帮助!!!
一种方法是生成 script
标签。
<script type="application/javascript">var comment = {{{this.coment}}};</script>
现在,变量应该可以在您的 Javascript 中使用了。但是,我不喜欢这种方法,因为它使用了全局变量。
是的,您可以像这样在路由文件中创建助手来实现此目的
handlebars = handlebars.create({
helpers: {
assign:function (varName, varValue, options) {
if (!options.data.root) {
options.data.root = {};
}
options.data.root[varName] = varValue;
}
}
})
然后在前端你可以像这样初始化或赋值给变量
{{assign 'existingComments' this.coment}}
然后为了访问可以使用
{{@root.existingComments }}