我对淘汰赛还很陌生,仍然很难理解自定义绑定以及何时适当地使用它们。我有一个对话框,我想在后端使用视图模型创建一个对话框,该对话框执行一些相当繁重的 DOM 操作以显示 ajax 调用的结果是否成功,这是否适合处理自定义数据绑定?我已经设置好了三个div,一个处理加载,一个成功,一个失败,我只是根据ajax调用的状态隐藏/显示它们,但我确信有更好的方法......
谢谢!
我对淘汰赛还很陌生,仍然很难理解自定义绑定以及何时适当地使用它们。我有一个对话框,我想在后端使用视图模型创建一个对话框,该对话框执行一些相当繁重的 DOM 操作以显示 ajax 调用的结果是否成功,这是否适合处理自定义数据绑定?我已经设置好了三个div,一个处理加载,一个成功,一个失败,我只是根据ajax调用的状态隐藏/显示它们,但我确信有更好的方法......
谢谢!
您可以根据需要使用自定义绑定,但我建议您多阅读一下文档,了解自定义绑定的用途。您可以通过某种故障指示器轻松获得您想要做的事情,例如使用包含警报的无容器绑定。单击警报时,您可以将 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 -->
你可以走得更远,显示这些错误或用它做更多的事情,但就像我说的,阅读文档并坚持下去,而不是相信我的话!