Knockout.js 调用其他JS文件中存在的函数

Knockout.js 调用其他JS文件中存在的函数,knockout.js,Knockout.js,在我的应用程序中,每个视图都有自己的JS, 用户可以单击“上载”按钮,文件上载模式显示>然后从列表中选择图像>然后单击“保存”按钮: fileUpload.js: viewModel.prototype.save = function () { cms.closeDialog(this, this.selectedObject()); }; <div data-bind="visible: thumbnailVisible">

在我的应用程序中,每个视图都有自己的JS, 用户可以单击“上载”按钮,文件上载模式显示>然后从列表中选择图像>然后单击“保存”按钮:

fileUpload.js:

  viewModel.prototype.save = function () {
        cms.closeDialog(this, this.selectedObject());
    };
  <div data-bind="visible: thumbnailVisible">
            <img data-bind="attr: { src: computedThumbnailUrl }, css: { 'cms-fileupload-thumbnail': isExternal }" alt="Image preview"/>
        </div>
 fileUpload.prototype.fileUploaded = function (fileSize, fileName, extension) {
            this.resetThumbnail();
            this.value().fileName = fileName;
            this.updateFileSize(fileSize);
            if (this.uploadCallback) {
                this.uploadCallback.call(this.context || this, fileName, extension);
            }
        };
当用户点击“save”(保存)按钮时,图像的缩略图将显示在产品的专用div中。html:

  viewModel.prototype.save = function () {
        cms.closeDialog(this, this.selectedObject());
    };
  <div data-bind="visible: thumbnailVisible">
            <img data-bind="attr: { src: computedThumbnailUrl }, css: { 'cms-fileupload-thumbnail': isExternal }" alt="Image preview"/>
        </div>
 fileUpload.prototype.fileUploaded = function (fileSize, fileName, extension) {
            this.resetThumbnail();
            this.value().fileName = fileName;
            this.updateFileSize(fileSize);
            if (this.uploadCallback) {
                this.uploadCallback.call(this.context || this, fileName, extension);
            }
        };
fileUpload.js
中的保存事件中,我试图调用
fileUpload
函数,该函数存在于
Products.js


如何实现这一点?

您的Product.js文件可能有如下内容:

var ProductModel = {
   //code on this model

   fileUpload.prototype.fileUploaded = function (fileSize, fileName, extension) {
        this.resetThumbnail();
        this.value().fileName = fileName;
        this.updateFileSize(fileSize);
        if (this.uploadCallback) {
            this.uploadCallback.call(this.context || this, fileName, extension);
        }
    };

    //code on this model
}
正因为如此,当您试图从外部访问该函数时,它不在当前范围内。
您可能需要使用在
Products.js
上设置模型的变量来调用函数。

Product.js
中,
fileUpload
函数位于函数块
function(app){
,如何从
fileUpload.js
页面调用
Product.js
中的函数?