我正在尝试id从URL 收集价值。
以前,我在这篇文章中获得帮助。
在我index.js的路由器文件中,我有以下代码:
{   path: '/word/:id',
    name: 'word',   
    component: Word,
    props: true,
}, 
Run Code Online (Sandbox Code Playgroud)
在我的组件中,我有以下代码:
<script>
    export default {
        props: {
             id: Number,
        },
        created() {
             this.routeChanged();
        },
        watch: {
            'id': 'routeChanged',
        },
        methods: {
            routeChanged () {
                console.log(this.id);
            },
        },
    };
</script>
Run Code Online (Sandbox Code Playgroud)
我得到以下错误:
[Vue警告]:道具无效:道具“ id”的类型检查失败。预期数字,为String。
ghy*_*ybs 10
这是通过功能模式将道具传递到路径组件的用例:
您可以创建一个返回道具的函数。这允许您将参数转换为其他类型,将静态值与基于路由的值结合起来,等等。
在您的情况下,props: true您可以将函数传递给选项,而不是使用来指定route props选项:
routes = [{
  path: '/word/:id',
  component: Word,
  props: castRouteParams
}];
function castRouteParams(route) {
  return {
    id: Number(route.params.id),
  };
}
Run Code Online (Sandbox Code Playgroud)
实时示例:https : //codesandbox.io/s/8kyyw9w26l(单击“转到测试/ 3”链接)