In CanJS controller, I am using click event inside another click handler. How can I pass some data to parent handler from child handler
someController=can.Control({
init:function(element,options){
// some code
},
'.someButtonSelector click':function(el,ev)
{
console.log(this.options.someData) //Returns array of objects
ev.preventDefault();
$('#someFormButton').click(function()
{
var formData=can.deparam($('someFormSelector').serialize());
//Want to add formObject in this.options.someData array
})
},
})
I want to put formData into this.options. here this represents object of someController so I cannot use it directly inside the someFormButton click event.
Also want to know if I am following the right approach? Scenario is on clicking the someButtonSelector a form appears. I want to put the formData into current options object
Is adding a click handler within another handler what you really want to do? Your code would mean that a new click handler will be added to
#someFormButtonevery time someone clicks on.someButtonSelector. If#someFormButtonis also within the Controls element I think what you'd like to do (adding the serialized data tothis.options.formDatawhen clicking#someFormButton) should look something like this: