Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在前端js变量中使用把手数据_Javascript_Node.js_Express_Handlebars.js - Fatal编程技术网

Javascript 如何在前端js变量中使用把手数据

Javascript 如何在前端js变量中使用把手数据,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,我正在将一个对象数组传递给把手。 我正在前端像这样检索它 {{this.coment}} 对象包含以下内容: `{ _id: "5c527707e28b4fac758cc674", sectionId: "2", comments: [ { replies: [], authorAvatarUrl: "https://encrypted-tbn0.gstatic.com/images?q=t

我正在将一个对象数组传递给把手。 我正在前端像这样检索它

{{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 type="application/javascript">var comment = {{{this.coment}}};</script>
var comment={{{{this.coment}};

现在,变量应该可以在Javascript中使用。但是,我不喜欢这种方法,因为它使用全局变量。

一种方法是生成
脚本
标记

<script type="application/javascript">var comment = {{{this.coment}}};</script>
var comment={{{{this.coment}};

现在,变量应该可以在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}}
然后在前端,你们可以初始化或者给变量赋值,就像这样

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 }}

是的,您可以通过如下方式在路由文件中创建帮助器来实现这一点

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}}
然后在前端,你们可以初始化或者给变量赋值,就像这样

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值分配给前端的变量?是的,这样我就可以用它来显示下面回答的commentsI中的数组。请看一看,是否要将this.coment值分配给前端的变量?是的,这样我就可以用它来显示下面回答的commentsI中的数组。请看一看,它像下面回答的var comment=[{u id:';5c527707e28b4fac758cc674'…并抛出一个错误,然后使用var comment={{{this.coment}};它像这样解析变量var comment=[{u id:';5c527707e28b4fac758cc674'…并抛出一个错误,然后使用var comment={{{{{this.coment}};