【发布时间】:2022-01-17 13:04:31
【问题描述】:
在我的一个页面上,我有一个表格,单击一行后会运行以下内容:
public onRowDataClick(workItem){
this.$router.push({
path: '/SecondPageView',
params: {pushedData: workItem}
});
}
这是我的路线:
{
path: '/SecondPageView',
name: 'SecondPage',
component: SecondPage,
meta: {
requiresAuth: true,
},
},
下一页加载正常,现在我希望能够使用pushedData,但我不完全确定应该怎么做。
我尝试按照上一个 stackoverflow 答案here 进行操作,但由于我的班级设置方式,我无法以相同的方式进行设置?它不会让我在export default ... 之后拥有props:。
根据阅读资料here和之前的回答,我设置如下:
<template>
...
</template>
<script lang="ts">
import ...
const GreetingProps = Vue.extend({
props: ['pushedData']
});
@Component({
components: {
...
},
})
export default class Dashboard extends GreetingProps {
@Watch('buttonClicked')
Log() {
console.log(this.pushedData);
}
}
</script>
这将返回“未定义”。 我该怎么做才能将我的数据对象从一个页面转移到另一个页面?
【问题讨论】:
-
另外,您可以使用 Vuex 存储来存储将在多个页面之间共享的数据。
-
我正在尝试这个,但我遇到了困难,因为所有示例似乎都以与我获得的 vue 文件不同的方式使用 vue。主要是我没有常规的
export default {}在那里你可以有name:props:等。有什么办法可以解决这个问题? -
看起来文件差异主要来自Typescript。我之前没有使用 Vue 和 TS,所以我不熟悉你有什么。您是否研究过 Vuex-Typescript 支持?这些例子可能更相关。
标签: javascript typescript vue.js