2013-07-30 85 views
-2

我对淘汰赛相当陌生,而且还很难将自己的头围绕自定义绑定以及何时适当地使用它们。我有一个对话框,我想在后端创建一个视图模型,并执行一些相当繁重的DOM操作来显示ajax调用的结果是否成功,这是否适合于自定义数据绑定来处理?我有它的设置,以便有三个div与一个处理加载,一个成功和一个失败,我只是隐藏/显示它们的状态,基于ajax调用,但我相信有更好的方法...成功/失败的自定义绑定

谢谢!

+0

所以,你知道,广泛的问题是关于StackOverflow的主题(例如,要求“更好的方法”)。请澄清你的问题,以“使用更少的元素的方式”,“简化视图模型的方法”,“可轻松重复使用的方式”等。 – FakeRainBrigand

+1

(当您编辑它时,我将删除-1和采取刺探回答) – FakeRainBrigand

回答

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 --> 

你可以把它很多更进一步,显示这些错误或做更多的事情,但就像我说的,阅读文档并获取它的一个挂起,而不是听我的话!