inject 為什麼不能直接修改值 - daniel-qa/Vue GitHub Wiki

inject 為什麼不能直接修改值

1. inject 是 淺拷貝 (Shallow Copy) 還是 參考 (Reference)?

其實 Vue 的 inject() 只會拷貝引用 (Reference),不會做值的拷貝。


 inject + 值類型 = 淺拷貝

 inject + 參考類型 = 共享引用

提供類型 inject 拿到 可修改 說明
值類型 值本身 直接拷貝,不共享
ref 引用 共享 .value
reactive 引用 共享物件
函數 引用 共享函數