在我的应用中,每个视图都有自己的JS, 用户可以点击“上传”按钮和文件上传模式显示>然后他从列表中选择一个图像>然后他点击“保存”按钮:
fileUpload.js:
viewModel.prototype.save = function () {
cms.closeDialog(this, this.selectedObject());
};
我想要实现的目标>当用户点击“保存”按钮时>图像的缩略图将显示在 Products.html:
中的专用div中 <div data-bind="visible: thumbnailVisible">
<img data-bind="attr: { src: computedThumbnailUrl }, css: { 'cms-fileupload-thumbnail': isExternal }" alt="Image preview"/>
</div>
Products.js:
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
中的保存事件我试图调用fileUploaded
中存在的Products.js
函数。
我如何实现这一目标?
答案 0 :(得分:0)
您的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
上设置模型的变量来调用您的函数。