我使用的是最新版本的Framework7。这就是我正在尝试做的:
在我的route.js
{
path: '/guest_course/:id/',
componentUrl: './pages/course-detail-guest.html',
},
在我的 .html 页面中,我可以像这样访问该值:
<h5> ${$f7route.params.id} </h5>
我的问题是 - 我可以像这样访问脚本标签内的这个参数吗 -
<script>
var userID = ${$f7route.params.id};
alert('User Id is: '+userID);
//I need to send post request to API server using var userID
</script>
到目前为止,我已经尝试过 -
var userID = ${this.$f7route.params.id};
,var userID = $f7route.params.id;
,var userID = $f7route.query.id;
,var userID = this.$route.query.id;
等等。它们都不起作用。
请建议这是否可行。
最后我自己在看了几次framework7文档后自己做了。 实际上,我试图在 Framework7 的论坛上发布这个问题,大多数时候,开发人员自己提供答案,但每次我尝试登录时,都会出现错误“您无法使用此 IP 地址登录”。 Framework7 论坛上也有几个问题可以解决我的问题,但不幸的是没有正确的答案,例如这个问题 - 查看问题。所以我在 StackOverflow 上发布了这个问题。
无论如何,我发布答案是为了让像我这样的人可以发现它有用且有帮助。正确的访问URL参数的方法(如果和我的情况类似)是
props.id
例如:
<script>
export default (props) => {
var userID = $f7route.params.id; //This will not work, I tried.
var userID = $route.params.id; //This too will not work
var userID = props.id; //This works ;-)
console.log('User ID: '+UserID);
})
</script>
在我自己的 Framework7 Svelte 组件中,您可以执行以下操作:
在您的路线中
// route with params
{
path: '/blog/:postId',
component: BlogPost,
}
在您的 Svelte 组件中
<script>
export let f7route;
const param = f7route.params.postId
</script>