簡體   English   中英

Laravel & Inertia.js - 反應性問題 (vue3)

[英]Laravel & Inertia.js - reactivity problem (vue3)

會不會是 Inertia.js 頁面組件阻礙了 vue 的反應性?

我有一個 Page 組件,在這個組件中是一個普通的單文件組件。

我有一個 function 將項目添加到ItemsManager.items object。 當我運行這個 function 時,下面的單個組件不會在v-for中添加這些項目。 但是,當我重新加載頁面組件時,它會起作用,並且會出現以前添加的項目。

這里是單個文件組件:

<template>
    <div>
        <div v-for="item in items" :key="item.$key">
            test
        </div>
    </div>
</template>

<script>
import { ItemsManager } from "./utils.js";

export default {
    name: "test-component",
    data: () => ({
        items: ItemsManager.items
    }),
};
</script>

實用程序.js:

export const ItemsManager = {
    items: [],
    add(item) {
        item.$key = this.items.length;
        this.items.unshift(item);
    },
};

function 添加項目(在頁面組件中):

addItem(title, options) {
    ItemsManager.add({
        name: title,
        options: options
    });
},

提前致謝!

由於您使用的是 Vue2,因此您需要知道在向對象/數組添加/刪除內容時有一些注意事項。 您沒有顯示任何與您將內容添加到 object 的實際方式相關的任何代碼,但我仍然建議您查看此頁面以了解並解決您的問題。

https://v2.vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM