2016-08-17 22 views
15

किसी विशेषता के प्रकार को सेट करने का प्रयास करते समय मुझे त्रुटि Cannot find name 'Subscription' मिलती है। मैं किस पैकेज से इसे आयात करता हूं?कोणीय 2: नाम 'सदस्यता' नहीं मिला

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(); 
    } 

} 

संपादित करें: एक अधिक विस्तृत कोड उदाहरण प्रदान करें।

+0

आप कुछ और कोड और विस्तार – rashfmnb

+0

पोस्ट कर सकते हैं और मेरा अनुसरण कर कोणीय 2 दस्तावेज़। वे अक्सर महत्वपूर्ण जानकारी छोड़ देते हैं कि उपयोगकर्ताओं को फिर से अनुसंधान और बर्बाद करना पड़ता है - जो काफी परेशान टीभ है। यदि यह मदद करता है तो मैं नमूना घटक लिख सकता हूं। थोड़ा समय दीजिये। –

+1

@rashfmnb: हो गया। समाधान पहले से ही मिला है। धन्यवाद। –

उत्तर

27

आप इस तरह इसे आयात करने के लिए है:

import { Subscription } from 'rxjs/Subscription'; 

यहाँ एक नज़र डालें: https://angular.io/docs/ts/latest/guide/router.html और वहाँ कई plunker की है कि दस्तावेज में जुड़े हुए हैं।

4

आपको "आरएक्सजेएस/आरएक्स" से सदस्यता आयात करना होगा।

import { Subscription } from "rxjs/Rx"; 
4

इस मामले में, सिर्फ इतना है कि लाइन प्रकार

import {Subscription} from "rxjs/Rx"; 

लोड करना चाहिए और हम इसे उपयोग कर सकते हैं के रूप में उम्मीद:

private sub: Subscription; 
संबंधित मुद्दे