Knockout.js 调用其他JS文件中存在的函数
在我的应用程序中,每个视图都有自己的JS, 用户可以单击“上载”按钮,文件上载模式显示>然后从列表中选择图像>然后单击“保存”按钮: fileUpload.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">
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
中的函数?