I am generating an angularJS project with yeoman. I call the generator with an argument and I get it from my main generator's script (index.js) by doing:
this.argument('name', { type: String });
I can use this parameter inside this same index.js by using:
this.options.name
Question: I want to use this same this.options.name inside my template, so that i can give its value to a variable. How can I do it?
Define an angular constant and set it to this value. Then inside the controller associated to this view, just inject this constant.
Then just inject your constant inside the controller associated to your view, associate this constant to a scope variable and use it inside your template.
Now the "hardest" part is how to get this value inside the angular environment.
I don't know what is your index.js, I suppose that is only the main script associated to your page. In this case, if you do inside the main script something like
You are actually creating a new attribute to the window object (if you are not doing that inside some function)
So what you could do is to associate this variable to a window parameter, and try to be most specific as possible so you are not on risk to override something else in the window, like:
Then you can define your constant inside angular everywhere just doing: