How do you access values injected into HTML templates using JavaScript? -


i have html template div looks this:

<div id="some_{{model.property}}_{{other.value}}_text"></div> 

i want use javascript in backbone view dynamically format injected values ids don't have spaces , slashes, etc. problem don't know right syntax grab them. right doing this:

var unformatted = "some_{{model.property}}_{{other.value}}_text" 

and using jquery set id formatted value:

$('.common-class').attr('id', unformatted.formatme()); 

it is, of course, giving me literal string value curly brackets , path data. how can values instead? using backbone, marionette, require, bootstrap, , spring jsps on backend. lot!

@meagar correct. should create properties want before rendering template. template should reference new value , not original model property.

<div id="{{newvalue}}"></div> 

if, example, want modify or change someproperty rendered newvalue, add newvalue additional model property.

render: function() {     this.model.set('newvalue', computenewvalue(someproperty));     this.$el.html(this.template(this.model.tojson())) } 

if don't want newvalue attribute polluting model, can add object passed template:

render: function() {     this.$el.html(this.template(         _(this.model.tojson()).extend({             newvalue: computenewvalue(someproperty)         })     )); } 

in latter case, model isn't modified, template able access computed value.