javascript - 在 aurelia 中使用路由器时如何设置/读取查询字符串?

标签 javascript query-string aurelia

使用 aurelia.io 框架路由器时,读取和设置查询字符串的首选方法是什么?

例如在url中:http://www.myapp.com/#/myroute1/?s=mystate

我如何读取和设置 url 的 ?s=mystate 部分并让 aurelia 路由器正确导航并记住该状态,这样每当我到达我的 route1 viewmodel 我可以读取那个状态变量并用它做些什么吗?

最佳答案

在 viewmodel 上你可以实现方法 activate(params, routeConfig) 并且对象参数应该包含你的查询变量

activate(params, routeConfig){
 console.log(params.s); //should print mystate
}

要导航到某个路由,您必须在 app.js 中指定此路由的名称(名称:'redirect')

 config.map([
      { route: ['','welcome'],  moduleId: './welcome',      nav: true, title:'Welcome' },
      { route: 'flickr',        moduleId: './flickr',       nav: true, title:'Flickr' },
      { route: 'redirect', moduleId: './redirect', name: 'redirect'}, 
      { route: 'child-router',  moduleId: './child-router', nav: true, title:'Child Router' }
    ]);

然后使用带参数的 NavigateToRoute 方法。

router.navigateToRoute('redirect', { s:'mystate'}, {replace: true});

关于javascript - 在 aurelia 中使用路由器时如何设置/读取查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30852727/

相关文章:

javascript - 通过javascript将查询字符串从一个页面传递到另一个页面

Aurelia:动态添加/删除 router.navigation 路由?

javascript - 在 Aurelia 中使用 href 发送多个数据

javascript - instanceof 的右侧不可调用

javascript - 将值插入多维数组

javascript - 拖动具有 scaleLinear 初始位置的圆圈

html - 打印时如何使带有内容的单个div填满整个页面

javascript - d3-drag with html元素初始位置问题

php - parse_str 随机向键添加分号

javascript - 允许查询字符串有两个参数: `` ?``