TS 上的 vue 中的道具未传递给 route.push
Props are not passed to route.push in vue on TS
我有一个简单的应用程序结构,table 和创建新项目的页面,要创建新项目,我使用主页上的按钮转到项目创建页面
initNewRow(): void {
let someData: string = 'someText';
this.$router.push({
name: 'catalog-create___en',
params: { someData: someData }
});
}
我想在导航中传递一些参数,路由中没有给定的页面,因为我不需要在菜单中显示它
只有一个页面有table(没有创建元素的页面)
{
id: 8,
label: 'menuitems.Catalog.text',
link: '/catalog/main',
icon: 'ri-eye-line',
meta: {
middleware: ['router-auth']
}
},
打开props创建道具的页面,我没有,为什么看不懂
@Component({
name: 'Create',
props: ['someData']
})
export default class Catalog extends Vue {
@Prop({ required: true })
someData!: any;
constructor() {
super();
this.someData = this.$route.params.someData;
console.log(this.someData);
}
如何正确初始化一个属性?它现在在控制台日志中给我一个错误:
Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "someData"
中所写
这些都是可以使用的方法,你用的方法不行
const userId = '123'
router.push({ name: 'user', params: { userId } }) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// This will NOT work
router.push({ path: '/user', params: { userId } }) // -> /user
将其更新为
this.$router.push({ name: 'create', params: { someData } });
感谢 Vue 开发工具,在这里可以找到您在项目中拥有的路线
我有一个简单的应用程序结构,table 和创建新项目的页面,要创建新项目,我使用主页上的按钮转到项目创建页面
initNewRow(): void {
let someData: string = 'someText';
this.$router.push({
name: 'catalog-create___en',
params: { someData: someData }
});
}
我想在导航中传递一些参数,路由中没有给定的页面,因为我不需要在菜单中显示它
只有一个页面有table(没有创建元素的页面)
{
id: 8,
label: 'menuitems.Catalog.text',
link: '/catalog/main',
icon: 'ri-eye-line',
meta: {
middleware: ['router-auth']
}
},
打开props创建道具的页面,我没有,为什么看不懂
@Component({
name: 'Create',
props: ['someData']
})
export default class Catalog extends Vue {
@Prop({ required: true })
someData!: any;
constructor() {
super();
this.someData = this.$route.params.someData;
console.log(this.someData);
}
如何正确初始化一个属性?它现在在控制台日志中给我一个错误:
Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "someData"
这些都是可以使用的方法,你用的方法不行
const userId = '123'
router.push({ name: 'user', params: { userId } }) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// This will NOT work
router.push({ path: '/user', params: { userId } }) // -> /user
将其更新为
this.$router.push({ name: 'create', params: { someData } });
感谢 Vue 开发工具,在这里可以找到您在项目中拥有的路线