我试图用不同的参数路由到当前页面但没有用。 我有一个触发的组合框:
bundle install
网址正在发生变化但是关于它。
如何使用不同的参数路由到同一页面?
答案 0 :(得分:23)
该页面不会刷新,导致Router
的工作原理..没有刷新页面!
您必须订阅路由参数以检测其中的更改,然后对该信息执行任何操作。
因此,将ActivatedRoute
注入您的组件并订阅如下参数:
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.params.subscribe(params => {
// PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..
// for example extract the id..
let id = +params['id']; // (+) converts string 'id' to a number
});
}
答案 1 :(得分:5)
你可以使用这个
来做到这一点std::vector<float> sobelCopy (sobel);
cv::Mat sobel_mat_copy(height,
width,
CV_32F,
sobelCopy.data());
cv::Mat sobel_mat(height,
width,
CV_32F,
sobel.data());
cv::GaussianBlur(sobel_mat_copy, sobel_mat, cv::Size(3,3), 0.0, 0.0, cv::BORDER_CONSTANT);
通过这样做,您的参数已成功更改。
但是如果你真的想要加载某些方法,那么它只会改变你的URL,然后你必须手动调用它们
答案 2 :(得分:4)
好的,特别是在阅读了所有你的答案@ mxii之后(谢谢你),我明白了:
好教训,谢谢!
答案 3 :(得分:0)
我找到的最简单的方法是订阅路由器,然后重新加载页面:
this.router.navigate(['page', selectedId]).then(page => { window.location.reload(); });