4
我想創建一個Vue.js組件從它的父組件接收性質,例如數據觀察:如何禁用vue.js組件屬性
<table-cell :value="foo" format="date" />
由於value
和format
被定義爲屬性,Vue的會自動將觀察員註冊到他們的值。總的來說,這很好,但對於我的用例,我肯定知道這些值不會改變,因此不需要遵守。
鑑於我的表格單元格組件可以在1000行和10列的表格中,這2個屬性將創建20,000個觀察者,並且我想避免所有這些開銷(並且我的真正表格單元格組件具有更多複雜的屬性)。
是否有任何方法禁止觀察組件屬性,以避免浪費CPU &內存資源?
更新: 我發現與功能組件的方法一個低級別的解決方案,這裏解釋:https://vuejs.org/v2/guide/render-function.html#Functional-Components
我有這個的jsfiddle測試它:https://jsfiddle.net/50wL7mdz/12143/
我不知道這是否是正確的做法...
不幸的是,即使您刪除了'this.dinamicProp',您也只是添加一個對動態屬性的引用,它仍然會被觀察到。 –
使用插槽並在插槽中傳遞靜態數據? –
插槽選項可用於單個&純文本屬性。如果我需要傳遞多個屬性並且其中一些屬性可能是對象,那麼我將不得不解析複雜的文本,這會破壞最初的目的。 –