文章讲述了如何通过Fast.api的回调函数功能,在A页面点击事件打开B页面后,当B页面上的特定按钮被点击时,将数据传回给A页面。在B页面,数据会被处理并以Fast.api.close()方法关闭时传递出去,如果需要传输多个数据,可以将它们拼接成字符串。

通过回调函数讲子页面的数据传输到父页面,
A页面为父页面,B页面是子页面
在A页面点击事件调B页面

Fast.api.open("URL","页面名称",{
    area:['78%','95%'],
    callback:function(value){
    //value 就是B页面传输的数据

    }
}
在B页面:
B:function(){
    //页面中加上以下部分 '.btn-success是B页面的按钮的class
    $(document).on('click', '.btn-success', function(){
    //data为要传输的数据,只能放一个数据,所以传输的数据多的时候可以拼接一个字符串
    Fast.api.close(data);
    });
}

 ------------------再举例

 

$(document).on('click','.btn', function (event) {
    var url = $(this).attr('data-url');
    if(!url) return false;
    var msg = $(this).attr('data-title');
    var width = $(this).attr('data-width');
    var height = $(this).attr('data-height');
    var area = [$(window).width() > 800 ? (width?width:'800px') : '95%', $(window).height() > 600 ? (height?height:'600px') : '95%'];
    var options = {
        shadeClose: false,
        shade: [0.3, '#393D49'],
        area: area,
        callback:function(value){       //这个value就是传上来的值
            console.log(value);
        }
    };
    Fast.api.open(url,msg,options);
});

在子窗体的js里加,本身如果要绑定事件是:
Controller.api.bindevent();
但是如果要传值,可以改成以下:

//给按钮添加点击事件
$(document).on('click', '.btn-band', function () {
    var ids = Table.api.selectedids(table);   //获取选中的id,获取到的是个数组
    Fast.api.close(ids);//这里是重点,将这个ids 传至父页面
});