-2

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

谢谢!

4

1 回答 1

0

您可以根据需要使用自定义绑定,但我建议您多阅读一下文档,了解自定义绑定的用途。您可以通过某种故障指示器轻松获得您想要做的事情,例如使用包含警报的无容器绑定。单击警报时,您可以将 observable 设置回 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 -->

你可以走得更远,显示这些错误或用它做更多的事情,但就像我说的,阅读文档并坚持下去,而不是相信我的话!

于 2013-07-30T03:53:16.100 回答