Javascript 除了计算机以外的任何其他方法都可以存储Vue路由参数,以便无法修改引用

Javascript 除了计算机以外的任何其他方法都可以存储Vue路由参数,以便无法修改引用,javascript,vue.js,vuejs2,vue-component,vue-router,Javascript,Vue.js,Vuejs2,Vue Component,Vue Router,我有一个Vue组件,我需要在其中获取一个route参数,并在几个XHR请求中传递它,并且可能还需要在其他地方使用它。起初我以为我会将它存储为数据属性,但从技术上讲,有人可以修改它 然后我想,由于我正在显示的屏幕的路由不会改变(路由的改变可能会导致另一个屏幕或404),我可以将其设置为计算的,它永远不会被重新计算,因此下面实际上创建了一个常量,可以根据需要引用为this.ID\u a。有没有其他方法可以达到类似的效果 computed: { ID_A() { return

我有一个Vue组件,我需要在其中获取一个route参数,并在几个XHR请求中传递它,并且可能还需要在其他地方使用它。起初我以为我会将它存储为
数据
属性,但从技术上讲,有人可以修改它


然后我想,由于我正在显示的屏幕的路由不会改变(路由的改变可能会导致另一个屏幕或404),我可以将其设置为计算的,它永远不会被重新计算,因此下面实际上创建了一个常量,可以根据需要引用为
this.ID\u a
。有没有其他方法可以达到类似的效果

computed: {
    ID_A() {
        return this.$route.params.id_a;
    }
}

您可以设置vue路由器,将参数作为道具传递给组件:

道具在技术上可能会被修改,但这将导致警告,对吗?我很喜欢这个想法。如果路由改变,那么计算属性也会改变,所以你已经有这个问题了。是的,如果您尝试手动更改道具(或计算属性),您应该会收到警告。如果路由更改,我将使用不同的组件为(SPA)页面提供服务如果您担心用户直接更改url,您还可以设置vue router以隐藏url,使用router index.js中的“mode:'abstract'”和“路由器.替换('/');“在你的main.js中,我们确实对此有一些担忧,尽管在本例中不一定如此,但感谢你提供的信息!”有没有其他方法可以实现类似的目标?“通过尝试一些东西。这很有趣,基于你以前的主题:)此外,我确实解释了我尝试的内容,并坚持扩展逻辑。