2

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

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. Commented Mar 20, 2015 at 19:31

1 Answer 1

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.