Epoxy 0 value not initialized
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.epoxy/1.3.1/backbone.epoxy.js"></script>
https://codepen.io/anon/pen/aYMxJM
<div id="test">
</div>
JavaScript
Backbone.Epoxy.binding.addFilter("isSelected", function(value, selected) {
//console.log(value);
//console.log(options);
//console.log(_.indexOf(options, value) > -1);
//return value == selected;
return _.indexOf(selected, value) > -1;
});
var BindingView = Backbone.Epoxy.View.extend({
el: '#test',
template: _.template(`
<label class="bookedup-element-label" data-bind="toggle:label,attr:{for:id}">
<%= label %><span data-bind="toggle:required" class="bookedup-element-required">*</span>
</label>
<input type="radio" data-bind="checked:value" value="foo" /> Foo
<input type="radio" data-bind="checked:value" value="bar"/> Bar
<input type="radio" data-bind="checked:value" value="baz"/> Baz
`),
render() {
var json = this.model.toJSON();
$(this.el).html(this.template(json));
return this;
}
});
var model = new Backbone.Model({
id:'123',
label:'Name:',
firstName: 'Darth',
lastName: 'Vader',
required:true,
linkText:"use Epoxy for data binding in Backbone",
linkUrl:"http://epoxyjs.org/",
options: [
{value: "a", label: "Foo"},
{value: "b", label: "Bar"},
{value: "c", label: "Baz"}
],
value: 'bar',
errors: [
"Hello",
"World"
]
});
var inst = new BindingView({model: model});
inst.render();
inst.applyBindings();
setTimeout(function(){
model.set('value', 'baz');
model.set('firstName', 'Jeff');
}, 1000)