ref 的複製 - daniel-qa/Vue GitHub Wiki
ref 的複製
先宣告,再複製(加入)值
form.value = { ...message };
// 原始物件
const message = {
msgType: 'mail', // 發送類型
selType: 'batch', // 挑選方式
theme: 'Important Update', // 主題
subject: 'Subject', // 標題
content: 'Message Content', // 內容
searchContent: ['keyword1', 'keyword2'], // 搜尋關鍵字
sendTime: '2025-05-12T10:00:00', // 發送時間
deliveryTime: 1683888000 // 發送時間的 UNIX 時間戳
};
// 定義 form 物件
const form = ref({});
// 複製 message 物件的屬性到 form 物件
form.value = { ...message };
console.log(form.value);
淺拷貝
不會改變記憶體,只會修改記憶體內的內容
Object.assign(form.value, message);
import { ref } from 'vue';
const form = ref({
msgType: '',
selType: '',
theme: '',
subject: '',
content: '',
searchContent: [],
sendTime: '',
deliveryTime: null
});
const message = {
msgType: 'mail',
selType: 'batch',
theme: 'Important Update',
subject: 'Subject',
content: 'Message Content',
searchContent: ['keyword1', 'keyword2'],
sendTime: '2025-05-12T10:00:00',
deliveryTime: 1683888000
};
// 直接將 message 的屬性寫入 form.value
Object.assign(form.value, message);
console.log(form.value);