給定一個元素實例,如何查看它維護的觀察者數量?聚合物:我的元素維護了多少觀察者?
我想知道這些實現是否更昂貴。
Polymer({
fooChanged: function() {
this.bar = foo.baz;
}
}
Polymer({
computed: {
'bar': 'foo.baz'
}
}
我懷疑它們是等價的(除了一個正在觀看富,另一個正在觀察路徑),但我想確定。
給定一個元素實例,如何查看它維護的觀察者數量?聚合物:我的元素維護了多少觀察者?
我想知道這些實現是否更昂貴。
Polymer({
fooChanged: function() {
this.bar = foo.baz;
}
}
Polymer({
computed: {
'bar': 'foo.baz'
}
}
我懷疑它們是等價的(除了一個正在觀看富,另一個正在觀察路徑),但我想確定。
您可以檢查chrome開發工具中的所有事件偵聽器。在控制檯中選擇ID,在右側選擇「事件監聽器」選項卡。
參見: Using Chrome, how to find who's binded to an event?
但我懷疑這會明智的告訴你什麼表現。我認爲最好在chrome開發工具的配置文件選項卡中使用CPU配置文件。
在內部,Polymer使用使用Node.bind()綁定屬性更改。 它將使用PathObserver觀看'foo.baz',當然,觀察像這樣的計算對象與單個屬性相比要慢。
等效的javascript的計算是:'this.bind( '酒吧',新PathObserver(FOO, '巴茲'));'。你知道財產的等效JavaScript改變了嗎? – 2015-02-11 17:48:44