我使用Aurelia Store创建了Aurelia应用。我在Aurelia管道步骤中使用@connectTo
装饰器时遇到了一些麻烦。
我在配置管道中添加了以下步骤:
config.addPipelineStep('authorize', AuthorizeStep);
这一步看起来像:
@connectTo()
export class AuthorizeStep {
state: State;
run(navigationInstruction, next) {
if (navigationInstruction.getAllInstructions().find(x => x.config.isAdmin))
{
if (!this.state.user.isAdmin) {
return next.cancel();
}
}
return next();
}
}
然而,我的状态总是未定义的。看看我的项目的其他部分,我可以看到状态和用户正在填充,但似乎在这个AuthorizeStep
它似乎不起作用。
我认为这个问题可能是因为我的AuthorizeStep
没有bind
生命周期方法,但如果是这样,我该怎么办呢?
答案 0 :(得分:1)
Aurelia的维护者回应(仅在我在他们的GitHub上提出问题后)here。
基本上,由于此类中不存在绑定生命周期,@connectTo
装饰器不起作用。相反,我需要手动注入Store并订阅状态。