Ole*_*ann 27 rxjs typescript angular
当尝试设置属性的类型时,我得到错误Cannot find name 'Subscription'
.从哪个包中导入它?
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
// I'm missing an import here. Just don't know which package to load from.
@Component({
moduleId: module.id,
selector: 'my-component',
templateUrl: 'my.component.html',
styleUrls: ['my.component.css']
})
export class MyComponent implements OnInit, OnDestroy {
private sub: any;
constructor(private route: ActivatedRoute,
private router: Router) {}
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
let id = +params['id']; // (+) converts string 'id' to a number
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:提供更详细的代码示例.
mxi*_*xii 56
你必须像这样导入它:
import { Subscription } from 'rxjs/Subscription';
Run Code Online (Sandbox Code Playgroud)
编辑 Angular 6
import { Subscription } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)
看看这里:https: //angular.io/docs/ts/latest/guide/router.html并且该文档中有几个plunker链接.
您必须从" rxjs/Rx " 导入订阅.
import { Subscription } from "rxjs/Rx";
Run Code Online (Sandbox Code Playgroud)
在这种情况下,只需该行加载类型
import {Subscription} from "rxjs/Rx";
Run Code Online (Sandbox Code Playgroud)
我们可以按预期使用它:
private sub: Subscription;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19440 次 |
最近记录: |