2013-03-27 85 views
0

有没有一种方法来创建一个setter,只要对象的属性发生变化就会更新一个DOM元素?创建一个使用新值更新dom元素的setter?

+0

注:我居然问不同的东西,突然意识到这没”没有意义。我已更新问题以使其具有意义,并保留来自@MattGreer的当前答案,因此未来可能会有人搜索这些条款。 – MaiaVictor 2013-03-27 02:55:19

回答

2

我不这么认为。如果没有创建setter,那么x将是一个简单的简洁属性,无法知道它何时发生变化。为什么你想避免二传手?这是一个非常干净的方式来实现你的目标。

但一个小的事情要记住,Object.defineProperty,但更详细,更支持和“赢”了setget

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

哦,不,实际上我对二传手的行为感到困惑。这个问题已经没有意义了。叹息这总是发生在我身上,突然启蒙,只要我提出一个问题。 – MaiaVictor 2013-03-27 02:51:21