动画更改为可观察值

时间:2014-01-10 15:34:51

标签: javascript animation mvvm knockout.js

我希望以最MVVM / Knockoutesque方式为单个ko.observable设置更改动画。我可以自己处理动画并查看更新:

function ViewModel() {
    var self = this;
    self.value = ko.observable("start value");
    $("button").on("click", function () {
        $("#text").animate(animateOutProperties,
        {
            complete: function () {
                self.value($("#value").val());
                $("#text").animate(animateInProperties);
            }
        });
    });
}

The above works exactly as I want it to

但是,上面没有充分利用双向数据绑定,因为我实际上是在监听事件并对值本身进行更改。使用data-bind: text几乎没有意义,因为我现在可以使用jQuery来更新文本。

使用像self.value.subscribe之类的东西来听取值的变化对我来说更有意义,我可以使用其他绑定来更新值 - 但是,尽我所能告诉我们无法同时获得旧值和新值。

我想使用beforeRemoveafterAdd之类的内容,但这些只适用于添加和删除observableArray元素。

有没有办法处理上面适合MVVM /双向数据绑定理念的动画?

0 个答案:

没有答案