在Vue開發中提供組件庫時常常需要添加相關屬性,用來接收父組件向子組件傳遞的數據,通常也會給屬性設置默認值,那么當屬性的類型是Object或者Array類型時如何設置默認值比較合理呢?下面將揭曉這一過程。
(1)剛接觸的時候我們可能會習慣這樣設置默認值,如下圖所示:
不管是String類型還是Object類型,都是直接采用key-value的方式提供default值。這樣書寫,對String類型是沒啥影響,不過對Object類型就會有影響,不過這種影響也只是一種警告,不會導致界面出錯,並且這種警告是建立在文件對語法配置的策略之上。
(2)下面將觀察一下組件庫在父組件應用時提示的警告,如下圖所示:
根據警告提示可知,對於Object/Array類型的屬性在設置默認值時必須使用工廠函數的方式提供。這里還得說明一下,由於我在兩個不同的工程中應用了該組件庫,一個工程中不會出現這樣的警告,另外一個工程中卻提示這樣的警告了;所以說這還是跟配置有關系的,具體我還沒找到,如有知曉的朋友,麻煩告知一聲,再次先謝謝了!
(3)根據警告提示,我們這樣修改默認值的設置方式,如下圖所示:
或者
這樣處理后,就不會有警告提示了。
------20191219閃