URL路由是将URL映射到其内容的过程。
单击项目时浅路由效果很好 <question vote="-1"><p><a href="https://i.sstatic.net/IxUgPj7W.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvSXhVZ1BqN1cucG5n" alt="Shallow Routing works well when clicking on an item"/> 直接键入项目URL时,浅路由将抛出404 link link to Stackblitz显示了问题</a></p> <p><a href="https://i.sstatic.net/mnjCNRDs.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvbW5qQ05SRHMucG5n" alt="Shallow routing throws 404 when typing item url directly in browser"/><code>src/routes/(news)/+layout.svelte</code></a></p><h3> <a href="https://stackblitz.com/edit/sveltejs-kit-template-default-jhgre8ys?file=src%2Froutes%2F(news)%2F%2Bpage.svelte" rel="nofollow noreferrer"><code><script lang="ts"> import './../../app.css' import { page } from '$app/stores'; import { pushState } from '$app/navigation'; import { MediaQuery } from 'svelte/reactivity'; const { children, data } = $props(); const large = new MediaQuery('min-width: 800px'); const hasNoDetailSelected = $derived.by(() => { return ( typeof $page.state.id === 'undefined' && typeof $page.state.title === 'undefined' ); }); function onClickItem() { pushState('/news/abcdabcd-abcd-abcd-abcd-abcdabcdabcd/title-1', {id: 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd', title: 'title-1'}) } </script> <header class="header"> <h1> <a data-sveltekit-preload-data="off" href="/">TestNewsApp</a> </h1> </header> {#if large.current} <main style="flex-direction: row"> <div class="news-list-container"> <nav> <ul> <li onclick={onClickItem}>Item 1</li> </ul> </nav> </div> <div class="news-detail-container"> {@render children()} </div> </main> {:else if !large.current && hasNoDetailSelected} <main style="flex-direction: column"> <div class="news-list-container"> <nav> <ul> <li onclick={onClickItem}>Item 1</li> </ul> </nav> </div> </main> {:else} <main style="flex-direction: column"> <div class="news-detail-container"> {@render children()} </div> </main> {/if} <style> .news-detail-container { background-color: lightyellow; flex: 1; } .news-list-container { background-color: lightcyan; flex: 1; } main { display: flex; flex: 1; } </style> </code></a> </h3><p><strong><code>src/routes/(news)/+page.svelte</code><pre></pre></strong> </p><code><script lang='ts'> import {page} from '$app/stores'; </script> {#if $page.state.id && $page.state.title} <p>Detail Page</p> {:else} <p>Popular News</p> {/if} </code><pre> </pre>问题 <p> <strong>直接键入URL时,我该如何进行此项工作? <pre> </pre> </strong> </p> <pre>我认为我已经修复了它,但我不确定这是否是正确的方法</pre> thythythysy您需要处理SSR案例的浅层和深度路由<h3> </h3>I创建了a/news/ [id管理 <ul> <li></li></ul><code>routes/(news)/news/[id]/[title]/+page.svelte</code></question><answer tick="false" vote="0"><ul> <li><code><script lang='ts'> import {page} from '$app/state' const {data, id, title} = $props() </script> <p>Detail Page What? {id || page.params.id} {title || page.params.title}</p> </code></li> <li> </li>现在您需要将此苗条文件重复使用作为处理浅路由的组件<li> </li> </ul><p><strong><code>routes/(news)/+page.svelte</code><pre></pre></strong> </p><code><script lang='ts'> import {page} from '$app/stores'; import DetailPage from './news/[id]/[title]/+page.svelte' </script> {#if $page.state.id && $page.state.title} <DetailPage id={$page.state.id} title={$page.state.title} /> {:else} <p>Popular News</p> {/if} </code><pre> </pre> notice如何使用细节页面组件<ul> <li>路由/(news)/+布局的条件也必须修改以处理SSR和参数 </li> </ul><code> const hasNoDetailSelected = $derived.by(() => { return ( typeof $pageFromStore.state.id === 'undefined' && typeof $pageFromStore.state.title === 'undefined' && typeof pageFromState.params.id === 'undefined' && typeof pageFromState.params.title === 'undefined' ); }); </code><p> <strong><pre>固定的存储库是stackblitz</pre></strong> </p> <pre>如果这不是做事的方法,请随时建议</pre> <ul> <li> </li><li>
我在路径中具有请求参数的GET方法: @router.get('/users/{user_id}') async def get_user_from_string(user_id:str): 返回用户(user_id) 是否可以获取基本URL原始路径...
“尽管清除缓存并重新启动服务器,Laravel 路由仍重定向到已删除的视图”
我刚刚开始学习 Laravel,遇到了一个问题。我制作了两个视图文件。第一个是 home.blade.php,第二个是welcome.blade.php。在路由文件夹 web.php 中,我使用了 Route::
我有以下正则表达式,用于在 IIS 中的 URL 重写中进行模式匹配,该正则表达式是由我的前任设置的: ^$ 我对正则表达式知之甚少,今天早上我读的书...
Django 视图正在渲染 404 页面而不是给定的 html 模板
我正在使用 django 开发一个 wiki 项目。 我尝试使用视图 add 渲染“add.html”,但它却将我发送到 404。所有其他视图都工作正常。我应该如何修复添加? 视图.py 夫...
如何在 ASP.NET Core MVC 中持久保存路由数据值
我如何更新我的 MVC 应用程序,以便用户登录网站后它遵循 URL 模式 模式:“{用户名}/{控制器=主页}/{操作=索引}/{id?}”); 我有加德...
如何使用 getStaticpath() 处理 astro 中的未知参数?
与 阿斯特罗 v 4.8.1 在 Astro 中使用静态生成器选项,即输出:“静态” 默认定义配置({ 站点:“https://abc.xyz”, 预取:真, 输出:“静态”...
Next.js 中直接访问路由返回 404,但在开发环境中工作正常
问题: 在 Azure 应用服务托管的 Next.js 应用程序中,直接访问路线(例如 /vehicle-details)会导致 404 Not Found 错误。 然而,通过 int 导航到这些相同的路线...
在导航时,即使将 Route 的路径添加到搜索栏中的 url,Route 的组件也不会呈现。它仅在刷新页面时呈现。 我的标题有按钮...
我有一个现有的个人网络应用程序,它是由普通的 html 和 javascript 制成的(没有像 React、Vue 等这样的网络框架)。它使用解析服务器后端并提供动态(实时查询)更新。 ...
我希望能够根据正在查看应用程序的设备显示不同的组件。我目前正在使用下面的内容来更改组件并且它可以工作。问题是...
我希望能够根据正在查看应用程序的设备显示不同的组件。我目前正在使用下面的内容来更改组件并且它可以工作。问题是...
我正在尝试注册一个路由来根据多个列自动获取单个模型。例如: 路线:get( 'sample/{myModel:status}/{myModel:slug}', [ SomeController:class, 'show' ); ...
React-Router:IndexRoute 的用途是什么?
我不明白使用IndexRoute和IndexLink的目的是什么。看来在任何情况下,除非激活“关于”路径,否则下面的代码都会首先选择“主页”组件。 ...
IAP 强制负载均衡器到单个后端到 NGINX 到应用程序,或负载均衡器到多个后端到应用程序?
一切都在 GCP 上 通过 Cloud Run 实例访问各种工具和应用程序 这些都应该受到 IAP + IAM 的保护,因此负载均衡器的设置需要适当的后端配置 ...
如何使用 ASP.NET Core 属性路由获取端点名称后的完整路径
我对 ASP.NET 中的路由非常陌生。 我正在制作原型的系统具有带有关联名称的字符串,例如: /dev/accounting/people =“人员字符串” /test/it/documents =“一些文档...
我正在尝试访问当前路线,以便在当前路线为“/”时有条件地重定向访客。我现在设置的方式重定向发生在任何路线,如果...
我想将翻译功能添加到我的网站。但我遇到了这个问题 缺少 [Route: filterdata] [URI: {locale}/project/{filter}] 所需的参数 这是应用程序的网络路由: 路线::ge...