2015-07-02 38 views
1

我可以看到官方的聚合物元件使用hidden屬性,像這樣:如何使用「隱藏」屬性?

hidden$="[[!someValue]]"hidden$=[[someValue]]

然而,在我的情況,someValue是一個巨大的物體,雖然上述表達式仍然工作,爲hidden$=[[someValue]]我可以看到是這樣的:

serialized object as the value of the hidden attribute

應用程序做不必要的工作序列化對象+具有所有文字就更難對M e與DevTools合作。

所以,我用hidden=[[someValue]]hidden=[[!someValue]]來代替。這些工作就像一個魅力。

我的問題是:

  • 我可以安全地使用hidden=代替hidden$=
  • 爲什麼這甚至有效?我瞭解$=設置屬性和=設置屬性。
  • 如果我應該使用hidden$=最好的辦法是什麼hidden$=[[bigObject]]

回答

1

看起來您可以安全使用hidden屬性或屬性。來自webcomponentsjs庫的This polyfill表示設置屬性也會反映到該屬性。這可以解釋爲什麼$==具有相同的行爲。

由於該setter重寫值爲'',我預計設置屬性(=)將使用更少的內存並且性能更高,但明顯的基準測試是唯一真正知道的方法。