繁体   English   中英

Ajax调用后如何在Knockout JS中进行DOM操作

[英]How to do DOM manipulation in Knockout JS after ajax call

我知道您不应该使用Knockout JS在模型内进行DOM操作,建议的方法是执行ko.bindingHandler.myDomManipulatingHandler。 但是,如果模型中的方法调用ajax,然后必须同时更新数据和操作DOM怎么办?

我该怎么做,但仍保持干净的分隔?

ViewModel = function ()
{
    var self = this;

    self.saveToServer = function ()
    {
        $.ajax(
        {
            url: "url to server",
            success: function ()
            {
                // data change code
                // dom manipulation code
            }
        });
    };
};

这很大程度上取决于您需要执行的特定DOM操作,但似乎您可以只更新相应的可观察对象。

var self = this,
    self.data = ko.observableArray();

/* snip */
    success: function () {
        ko.utils.arrayForEach(self.data(), function () {
        /* update values here */

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM