admin管理员组

文章数量:1326299

I'm generating a handlebars view with hbs for express js framework, and I need to access the variables I pass to the view from inside a separate JavaScript file.

For example:

 var foo = {{user.name}}

Obviously this code throws an error, but what is the preferred way of getting hbs variables inside JavaScript?

Currently I'm running another ajax request to get the same data. but I think it is not wise to make another request for the same data...

I'm generating a handlebars view with hbs for express js framework, and I need to access the variables I pass to the view from inside a separate JavaScript file.

For example:

 var foo = {{user.name}}

Obviously this code throws an error, but what is the preferred way of getting hbs variables inside JavaScript?

Currently I'm running another ajax request to get the same data. but I think it is not wise to make another request for the same data...

Share Improve this question edited Mar 20, 2015 at 19:31 Heretic Monkey 12.1k7 gold badges61 silver badges131 bronze badges asked Mar 20, 2015 at 19:12 Dima GrossmanDima Grossman 2,8302 gold badges22 silver badges27 bronze badges 1
  • I've edited your question with updates to the grammar and capitalization of words (especially I, which should be capitalized in the Engliish language). I'm afraid I know very little about handlebars or express, so I can't answer the question. – Heretic Monkey Commented Mar 20, 2015 at 19:31
Add a ment  | 

1 Answer 1

Reset to default 9

Found the solution, seems like i just had to put the handlebars variable inside a string for it to work.

In order to pass and Object to a variable I created hbs helper:

 hbs.registerHelper('json', function(context) {
    return JSON.stringify(context);
 });

and the in my view:

 var currentUser = JSON.parse('{{{json user}}}');

and now i can access the data on the client side js.

本文标签: javascriptAccessing handlebars variable inside client js fileStack Overflow