成功/失败的自定义绑定

时间:2013-07-30 00:06:08

标签: javascript jquery css knockout.js

我是淘汰赛的新手,我仍然很难绕过自定义绑定以及何时适当地使用它们。我有一个对话框,我想在后端使用viewmodel创建一个相当重的DOM操作,以显示ajax调用的结果是否成功,这是否适合自定义数据绑定处理?我设置好了,有三个div,一个处理加载,一个成功,一个失败,我只是根据ajax调用的状态隐藏/显示它们但是我确定有一个更好的方式...

谢谢!

1 个答案:

答案 0 :(得分: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 -->

你可以更进一步地展示这些错误或者用它做更多的事情,但就像我说的那样,阅读文档并获取它,而不是接受我的话!