成功/失败的自定义绑定

Custom Binding For Success / Failure

本文关键字:自定义 绑定 失败 成功      更新时间:2023-09-26

我对淘汰还很陌生,但我仍然很难理解自定义绑定以及何时正确使用它们。我有一个对话框,我想在后台创建一个视图模型,它可以进行一些相当繁重的DOM操作,以显示ajax调用的结果是否成功,这是否适合自定义数据绑定处理?我已经设置好了,有三个div,一个处理加载,一个成功,一个失败,我只是根据ajax调用的状态隐藏/显示它们,但我相信还有更好的方法。。。

谢谢!

您可以将自定义绑定用于任何您想要的内容,但我建议您多阅读一些关于自定义绑定的文档。使用某种故障指示器可以很容易地获得您想要做的事情,例如使用包含警报的无容器绑定。单击警报后,您可以将可观察的设置回false。这是我能想到的最简单的方法来处理您所面临的情况,同时利用Knockout对jQuery类型DOM操作的强大替代。

在您的JavaScript-

// Create an observable and start it out as false
var haveErrors = ko.observable(false);
function doSomething() {
    $.ajax({
    // Your ajax call
       error: function(err) {
           haveErrors(true);
    });
}

在你的HTML-

<!-- ko if: haveErrors() === true -->
<div class="alert">There are errors!!!</div>
<!-- /ko -->

你可以更进一步,显示这些错误,或者用它做更多的事情,但就像我说的,阅读文档并挂起它,而不是相信我的话!