简体   繁体   English

Svelte page.js 路由 - 无法获取动态组件的传入道具

[英]Svelte page.js routing - Can't get passed-in props for dynamic component

I have a problem with page.js routing.我对page.js路由有疑问。 If I go from settings to a dashboard , i get the passed in props.如果我从settingsdashboard go ,我得到传入的道具。 If I go from dashboard to dashboard nothing is logged out... Can anyone help?如果我从dashboarddashboard的 go 没有任何内容被注销...有人可以帮忙吗?

App.svelte App.svelte

let page, props;

router("/settings", () => (page = Settings));

router("/dashboards/:dashboardId", (ctx) => {
    props = ctx.params;
    console.log("App", props);
    page = Dashboard;
});

<svelte:component this={page} {...props} />

Navigation.svelte导航.svelte

{#each $dashboards as dashboard}
    <div class="dashboard-link">
        <a href="/dashboards/{dashboard.id}">{dashboard.name}</a>
    </div>
{/each}

Dashboard.svelte仪表板.svelte

<script>
    export let dashboardId;
    console.log("dashboardId", dashboardId);
</script>

The code actually works.该代码实际上有效。 The problem was that the console.log works only during initialization ie from settings to dashboard, dashboard loads.问题是console.log仅在初始化期间起作用,即从设置到仪表板,仪表板加载。 From dashboard to dashboard, only the variables change ie component is already loaded.从仪表板到仪表板,只有变量发生变化,即组件已加载。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM