首页 > 解决方案 > 从外部函数访问 Knockout 函数

问题描述

有一些类似的问题与我所追求的有关,但我没有发现任何与我的问题特别相关的问题。

我在我正在构建的整个网站中都成功地使用了 Knockout,但是,当尝试从具有各种回调属性的外部托管函数(我无法控制该函数)访问 ViewModel 函数时,我遇到了障碍。

Checkout.showLightbox(); 

Checkout Lightbox 功能由以下脚本处理:

<script src="paymentwebsite"
                data-error="errorCallback"
                data-cancel="cancelCallback"
                data-complete="completeCallback"
                data-beforeRedirect="beforeRedirect"
                data-afterRedirect="afterRedirect">
            </script>

    function completeCallback() {
        //A View Model Function or,
        //Use as validation before Knockout Submit binding

    }

上面显示的函数 (completeCallback) - 通过外部 JS 文件的属性调用 - 在调用它们的表单提交之后接收。我有两个选择:

  1. 对于 Knockout 的提交绑定,此函数以某种方式在之前完成并返回 true,或者,
  2. 这个函数调用一个视图模型函数,虽然没有表单数据。

问题是,我不知道有一种方法可以在视图模型中调用函数,或者暂停表单提交绑定,直到这个非敲除函数完成。

标签: knockout.js

解决方案


推荐阅读