任何人都知道如何将对象传递给hashHistory.push()?
这是一个代码段:
redirectToDrug(id, drug) {
hashHistory.push(`/infusions/library/${id}`, drug);
}
尝试在那里获取药物信息,以便我不必再次查询数据库中的药物信息,因为我已经在父类中使用过它。
答案 0 :(得分:7)
您可以将带有查询的对象传递给push函数:
@Html.DropDownList("abc",
new SelectList(Model.holdTypes.Select(v=>new SelectListItem { Value = v,
Text = v}),"Value","Text",item.holdType))
然后在 / infusuons / library / $ {id} 页面中访问您的对象:
router.push({
pathname: `/infusions/library/${id}`,
query: { drug }
})
如果您的对象不太复杂,这是一个很好的解决方案,但如果 drug 是一个庞大的数据结构,我会使用单向数据流框架,例如{{ 3}}
答案 1 :(得分:1)
您可以将对象的json字符串传递为:
var data = JSON.stringify(drug);
hashHistory.push({pathname: `/infusions/library/${id}`, query: {data}});
如果传递直接对象,则无法在另一个组件中检索。以上解决方案为我工作。