我正在使用AngularJS,在控制器中,我有一个像这样的函数。
ctrl.onClick = (id) => {
window.location.assign(`#/services/${id}`);
}
我想使用我们的自定义locationUtils之一。这是该代码:
export const redirectTo = (route) => {
const { location } = window;
location.href = `${location.origin}${route}`;
};
我正在将其导入控制器,并且路径正确。但是用我写的东西,重定向不起作用。
这是我的实现方式:
ctrl.onBrokerClick = (id) => {
redirectTo(`#/services/${id}`);
}
我在这里到底在做什么错?有人可以帮我吗?
答案 0 :(得分:0)
您可以尝试history.pushState(null,null,'new_url_address')
加载新的网址。
请按照本文档的历史记录api-https://developer.mozilla.org/en-US/docs/Web/API/History_API
答案 1 :(得分:0)
好的,在这里回答我自己的问题。调用redirectTo()
时,它提供了前缀homepage
。在我的函数中,代替这个:
ctrl.onBrokerClick = (id) => {
redirectTo(`#/services/${id}`);
}
我这样做是为了补充缺少的前缀:
ctrl.onBrokerClick = (id) => {
redirectTo(`/homepage/#/services/${id}`);
}
到目前为止,它不是那么优雅的解决方案,但是目前它可以工作。我将不得不看看@front_end_dev所说的话。