我正在aureliajs框架中创建一个自定义组件并将其注入{
"accounts" : {
"-KOjv0LDdoWrc3uApvPi" : {
"dateCreated" : "Tue Aug 09 2016 11:29:18 GMT-0400 (EDT)",
"email" : "sdgsdgsd@tbteam.net",
"provider" : "Facebook",
"userId" : "FMXlUQZth5aehQLT2TKZZJZdJBh2"
},
"-KOkwpzslw9NyUrTtvA7" : {
"dateCreated" : "Tue Aug 09 2016 16:16:52 GMT-0400 (EDT)",
"displayDescription" : "no description",
"email" : "sdgsdsddgd@yahoo.com",
"provider" : "Facebook",
"userId" : "F9Z7YhSlmAQqOH5FVjBSV2CkYZG3"
}
}
}
实例:
Router
它将与列表视图模型一起使用,以便设置一些基本的分页。因此,我需要从活动路径中读取当前页码(看起来像@inject(Router)
export class Pagination {
constructor(router) {
this.router = router;
}
}
。我不确定该怎么做?我的意思是 - 我知道它应该放在{{1}中附加方法,但是如何到达这个orders/:pageNum
param?
答案 0 :(得分:3)
在自定义元素中创建可绑定属性。从活动路径中获取页码并将其绑定到自定义元素。例如:
import { bindable } from 'aurelia-framework';
@inject(Router)
export class Pagination {
@bindable page;
constructor(router) {
this.router = router;
}
}
用法:
<pagination page.bind="page"></pagination>
要获取活动路线中的页码,请使用activate()
挂钩:
activate(params) {
this.page = params.pageNum;
}
答案 1 :(得分:1)
您可以使用router.currentInstruction.params
和router.currentInstruction.queryParams
。
您还可以观察路由更改时要通知的路由器:
let sub = this.bindingEngine.propertyObserver(
this.router, 'currentInstruction').subscribe(currentInstruction => {
console.log(currentInstruction);
});