Javascript 将数据从子单击传递到CanJS中的父事件回调

Javascript 将数据从子单击传递到CanJS中的父事件回调,javascript,jquery,canjs,canjs-control,Javascript,Jquery,Canjs,Canjs Control,在CanJS控制器中,我在另一个点击处理程序中使用点击事件。如何将一些数据从子处理程序传递给父处理程序 someController=can.Control({ init:function(element,options){ // some code }, '.someButtonSelector click':function(el,ev) { console.log(this.options.someData) //Returns a

在CanJS控制器中,我在另一个点击处理程序中使用点击事件。如何将一些数据从子处理程序传递给父处理程序

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

        })
    },      
})
我想将formData放入此.options中。此处
表示
someController的对象
,因此我无法在
someFormButton
单击事件中直接使用它


还想知道我是否遵循了正确的方法?场景是在单击
someButtonSelector
时出现一个表单。我想将formData放入当前选项对象

是否在另一个处理程序中添加单击处理程序?您真正想做什么?您的代码意味着每当有人单击
。someButtonSelector
时,新的单击处理程序将添加到
#someFormButton
。如果
#someFormButton
也在Controls元素中,我认为您要做的事情(在单击
#someFormButton
时将序列化数据添加到
this.options.formData
)应该如下所示:

var 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(el, ev) {
        var formData = can.deparam($('someFormSelector').serialize());
        this.options.formData.push(formData);
    }    
})