我具有此函数,该函数创建某种类型的对象,并且一旦单击“创建”按钮,则可以解决的诺言将调用component.$router.push({name: 'schemas-mode-id', params: {mode: C.modes.view, id: newSchema.data.id}})
。它在名为schema-detail
的组件中。
但是现在我想将<schema-detail></schema-detail>
用作另一个组件中的子组件,以便一旦创建新的Schema对象,就可以在同一窗口中进行选择。
我尝试执行此操作的方法是使用与创建对象相同的函数,就像之前所做的那样,无需推送到路由器。
createInStepper: function (schema) {
console.log('schema-detail.vue#createInStepper',schema)
let component = this
Schema.create(schema)
.then( (newSchema) => {
console.log('newSchema', newSchema)
alert('Variables creadas con éxito, ya las puede seleccionar')
// component.$router.push({name: 'schemas-mode-id', params: {mode: C.modes.view, id: newSchema.data.id}})
})
.catch( (error) => {
console.log("Hubo un error creando las variab;es", error)
if (error.response.data.errors != undefined) {
alert("Hubo un error creando las variables, por favor verifique los campos"+"\n"+error.response.data.error+"\n"+error.response.data.errors)
} else {
alert("Hubo un error creando las variables, por favor verifique los campos"+"\n"+error.response.data.error)
}
})
},
问题在于,即使确实正确地创建了对象,我也需要刷新才能选择它。我不想推送到路由器的原因是因为我不想重定向到另一个窗口。
我该如何解决?