我找不到答案,为什么当我在实现解析器的页面中来回移动时,突然信号停止工作,并且所有Angular 6都冻结了。 (您无法单击任何链接)该网站看起来不错,但没有任何效果。
我正在使用
“ ng2-signalr”:“ ^ 6.1.0”,
角度6.0.3
我实现了ng2-signalr, 解析器在开始时不起作用,因此我将其更改为使用ISignalRConnection 我最多可以在第6次应用程序中进行5次来回转发
export class SignalrConnectionService implements
Resolve<ISignalRConnection> {
@Injectable()
export class SignalrConnectionService implements Resolve<ISignalRConnection>
{
constructor(private _signalR: SignalR) { }
resolve() {
console.log('ConnectionResolver. Resolving...');
//this._signalR.createConnection();
try {
return this._signalR.connect();
}
catch (err) {
console.log("Error in _signalR.connect: " + err.message);
}
//return this._signalR.createConnection();
}
}
在路由中,我做了:
path: 'my_path',
component: MyComponent,
canActivate: [AuthGuard],
resolve: { connection: SignalrConnectionService }
如果我删除了解析行,则signalR被取消并且一切正常(没有冻结,也没有signalR),但是我需要它。.
有帮助吗?
答案 0 :(得分:0)
所以我找到了解决方案。 看来您不需要使用解析器,而是在构造函数中执行以下操作:
constructor(private _signalR:SignalR){
this._connection = _signalR.createConnection();
}
只有这样,您才能在 ngInit 中放置如下代码:
this._connection.start()。then((c)=> {
//曾经发生过
});
});
这似乎解决了问题:)