如何将文件列表传递给bootbox回调?

时间:2015-07-16 14:42:57

标签: javascript meteor bootbox

当我的用户尝试上传多个文件时,我会触发一个bootbox模式,让他决定2个可能的选项。在bootbox回调中,我想迭代从文件输入中获取的文件列表。问题是我的文件列表变量在回调中是空的。

看看代码:

this.loadFiles = function(files){
    if (files.length>1){ //here, 'files' is populated
        bootbox.dialog({
          message: APi18n.__("media_warning_multiple_file_input_modal_message"),
          title: TAPi18n.__("media_warning_multiple_file_input_modal_header"),
          animate: true,
          buttons: {
                danger: {
                    label: TAPi18n.__('cancel'),
                    className: "btn-default",
                        },
                success: {
                    label: TAPi18n.__('media_warning_multiple_file_input_modal_ok_button'),
                    className: "btn-info",
                    callback: function() {
                        console.log(files); //here, 'files' is empty
                        _.each(files, function(file){
                       //etc.

如何在我的bootbox回调中访问我的files列表?

1 个答案:

答案 0 :(得分:1)

可以更改files变量"稍后"在loadFiles函数的范围内?如果是这样,您应该在之后移动更改部分用于对话:

this.loadFiles = function(files){
    if (files.length>1){ //here, 'files' is populated
        bootbox.dialog({
          message: APi18n.__("media_warning_multiple_file_input_modal_message"),
          title: TAPi18n.__("media_warning_multiple_file_input_modal_header"),
          animate: true,
          buttons: {
                danger: {
                    label: TAPi18n.__('cancel'),
                    className: "btn-default",
                        },
                success: {
                    label: TAPi18n.__('media_warning_multiple_file_input_modal_ok_button'),
                    className: "btn-info",
                    callback: function() {
                        _.each(currFiles, function(file){
                       //etc.
                       });
                       // <--- HERE
                    }