0

有没有办法制作一个 setter 来在对象的属性发生更改时更新 DOM 元素?

4

1 回答 1

2

我不相信。如果不创建 setter,那么x将是一个普通的 jane 属性,它挂在对象上,无法知道它何时发生了变化。为什么要避开二传手?这是实现目标的一种非常干净的方法。

但是要记住的一件小事Object.defineProperty,虽然更冗长,但更受支持并“赢得”了setand get

a = {};
Object.defineProperty(a, 'x', {
    get: function() {
        return this._x;
    },
    set: function(newX) {
        this._x = newX;
        $("#my_element").html(newX);
    }
});
于 2013-03-27T02:47:14.840 回答