我正在根据用户在搜索表单中输入的数据进行搜索,并将此数据作为 queryParam 重定向到路由,这会完全重新加载应用程序。
我进行这样的转换:其中“搜索”是用户输入的数据
this.get('router').transitionTo('private.route1', { queryParams: { search: search } });
在目标路由的控制器中,我已经声明了这个 queryParam
export default Controller.extend({
queryParams: ['search'],
});
然后我根据这个 queryParam 进行 API 搜索。一切正常,但是当我transitionTo()
对这条路线进行操作时,由于某种原因,该符号'?'
被添加到我的路线路径的开头,这会重新加载页面。
我期望的结果是转换使 url 看起来像这样,并且应用程序没有完全重新加载:
http://localhost:4200/#/private/route1?search=userdata
而真正的结果是:
http://localhost:4200/?#/private/route1?search=userdata
在路径开头带有符号'?'
,这会导致应用程序完全重新加载。