创建一个使用新值更新dom元素的setter?

时间:2013-03-27 02:42:52

标签: javascript

有没有办法制作一个setter,只要对象的属性发生变化就会更新DOM元素?

1 个答案:

答案 0 :(得分:2)

我不相信。在没有创建setter的情况下,x将是一个悬挂在对象上的简单jane属性,无法知道它何时发生了变化。你为什么要避开二传手呢?这是实现目标的一种非常干净的方式。

但要注意的一件小事,Object.defineProperty,虽然更详细,但在setget上得到更多支持和“胜利”:

a = {};
Object.defineProperty(a, 'x', {
    get: function() {
        return this._x;
    },
    set: function(newX) {
        this._x = newX;
        $("#my_element").html(newX);
    }
});