কৌণিক 2 বিটা.17: 'পর্যবেক্ষণযোগ্য <প্রতিক্রিয়া>' টাইপ করে সম্পত্তি 'মানচিত্র' বিদ্যমান নেই


195

আমি সবেমাত্র কৌণিক 2 বিটা 16 থেকে বিটা 17 তে আপগ্রেড করেছি , যার পরিবর্তে rxjs 5.0.0-beta.6 প্রয়োজন। ( চেঞ্জলগ এখানে: https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta17-2016-04-28 ) বিটা 16 এ পর্যবেক্ষণযোগ্য / মানচিত্রের কার্যকারিতা সম্পর্কে ভালভাবে কাজ করছে। আমি আপগ্রেড হওয়ার পরে টাইপস্ক্রিপ্ট স্থানান্তর করার চেষ্টা করার পরে নিম্নলিখিত ত্রুটিগুলি উপস্থিত হয়েছিল:

  1. সম্পত্তি 'মানচিত্র' টাইপ 'পর্যবেক্ষণযোগ্য' তে বিদ্যমান নেই (যেখানেই আমি পর্যবেক্ষণযোগ্য মানচিত্র ব্যবহার করেছি যেখানেই)
  2. সি: /path/node_modules/rxjs/add/operator/map.d.ts (2,16): ত্রুটি TS2435: অন্যান্য মডিউল বা নেমস্পেসে পরিবেষ্টিত মডিউলগুলি নেস্ট করা যাবে না।
  3. c: /path/node_modules/rxjs/add/operator/map.d.ts (2,16): ত্রুটি টিএস 2436: পরিবেষ্টিত মডিউল ঘোষণা কোনও আপেক্ষিক মডিউল নাম নির্দিষ্ট করতে পারে না।

আমি এই প্রশ্ন / উত্তরটি দেখেছি কিন্তু এটি সমস্যার সমাধান করে না: অ্যাংুলার 2 বিটা.12 এবং আরএক্সজেএস 5 বিটা.3 এর সাথে পর্যবেক্ষণযোগ্য ত্রুটিগুলি

আমার অ্যাপবুট.টি দেখতে দেখতে (ইতোমধ্যে rxjs / মানচিত্রটি উল্লেখ করছি):

///<reference path="./../node_modules/angular2/typings/browser.d.ts"/>
import {bootstrap} from "angular2/platform/browser";
import {ROUTER_PROVIDERS} from 'angular2/router';
import {HTTP_PROVIDERS} from 'angular2/http';
[stuff]
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import {enableProdMode} from 'angular2/core';
import { Title } from 'angular2/platform/browser';


//enableProdMode();
bootstrap(AppDesktopComponent, [
    ROUTER_PROVIDERS,
    HTTP_PROVIDERS,
    Title
]);

হাইওয়াইরে কী চলছে কারও কি ধারণা আছে?


উত্তর:


284

আপনাকে mapঅপারেটরটি আমদানি করতে হবে :

import 'rxjs/add/operator/map'

3
কৌণিক দল এবং আরএক্সজেএস টিম উভয়ই পুরো আরএক্সকে এভাবে আমদানির এই পদ্ধতির প্রস্তাব দেয় না। আপনার এটা করা উচিৎ না. এটি অনেক বড়। উপরের প্রথম উত্তরটি ঠিক আছে, তবে দ্বিতীয়টি এতটা নয়। @ 0x1ad2 যে বিশাল আমদানিকে দ্বিতীয় বিকল্প হিসাবে অন্তর্ভুক্ত না করার জন্য আপনি নিজের উত্তরটি আপডেট করতে পারেন?
ফ্রস্টি

2
এটি স্বজ্ঞাত নয়। এটি কৌনিক 2+ বিকাশে পর্যবেক্ষণযোগ্য বাস্তবায়নের নির্ভরতা হিসাবে নথিভুক্ত কোথায়?
জো

এটি কি আয়নিক 3.20.0 এর জন্য প্রযোজ্য? আমি একই সমস্যা পেয়েছি কারণ আয়নিক স্বয়ংক্রিয়ভাবে মানচিত্রটি আমদানি করে নি। আমদানি স্পষ্টভাবে কাজ করে তবে আমি নিশ্চিত নই যে এটি সঠিক।
লর্ডড্রাগন

1
এটি আমার কাছে সমস্যার সমাধান করে না অনেকগুলি আমাকে আরএক্সজেএস / অ্যাড / অপারেটর / মানচিত্রের পরিবর্তে পাইপ ব্যবহার করতে হয়েছিল আমি পাইপ এবং। পাইপের সাহায্যে rxjs / অপারেটর আমদানি ব্যবহার করেছি (মানচিত্র (res => res.json ()));
কোডফ্রেইক

গুগল অনুসন্ধানের পরে আমি এখানে এসেছি এমন সময়ে যেখানে আমরা এখন কৌণিক 7 ব্যবহার করছি এবং আরএক্সজেএস কিছু পরিবর্তন ঘটিয়েছে। নতুন পদ্ধতিটি import { map } from 'rxjs/operators'তবে অন্য উত্তরে আরও বিশদ রয়েছে।
কলবি হান্টার

78

আমি আমার গাল্প-টাইপ স্ক্রিপ্ট প্লাগইনটি সর্বশেষতম সংস্করণে (২.১13.০) আপগ্রেড করেছি এবং এখন এটি কোনও বাধা ছাড়াই সংকলন করে।

আপডেট 1: আমি আগে গুল্প-টাইপ স্ক্রিপ্ট সংস্করণ 2.12.0 ব্যবহার করছিলাম

আপডেট 2: আপনি যদি কৌনিক 2.0.0-rc.1 এ আপগ্রেড করছেন তবে আপনার অ্যাপবুট.এসটি ফাইলটিতে নিম্নলিখিতগুলি করা দরকার:

///<reference path="./../typings/browser/ambient/es6-shim/index.d.ts"/>
import { bootstrap } from "@angular/platform-browser-dynamic";
import { ROUTER_PROVIDERS } from '@angular/router-deprecated';
import { HTTP_PROVIDERS } from '@angular/http';
import { AppComponent } from "./path/AppComponent";
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
// import 'rxjs/Rx'; this will load all features
import { enableProdMode } from '@angular/core';
import { Title } from '@angular/platform-browser';



//enableProdMode();
bootstrap(AppComponent, [
    ROUTER_PROVIDERS,
    HTTP_PROVIDERS,
    Title
]);

Es6-shim / index.d.ts এর উল্লেখ হিসাবে গুরুত্বপূর্ণ বিষয় The

এটি ধরে নিয়েছে যে আপনি এখানে দেখানো অনুসারে এসি-শিম টাইপগুলি ইনস্টল করেছেন: এখানে চিত্র বর্ণনা লিখুন

এখানে কৌনিক থেকে ইনস্টল করা টাইপগুলি সম্পর্কে আরও জানুন: https://angular.io/docs/ts/latest/guide/typescript-configration.html#!# টাইপিংস


আপনি কি দয়া করে সেই পুরানো সংস্করণ নম্বরটি উল্লেখ করতে পারেন যা সমস্যা ছিল? ধন্যবাদ।
মেলিগি

1
@ মেলিগি আমি এর আগে গুল্প-
টাইপস্রিপ্ট

1
অসাধারণ. অনুরূপ সমস্যাযুক্ত ব্যবহারকারীদের জন্য একটি নোট অন্তর্ভুক্ত করার জন্য আমি ত্রুটি বার্তা সম্পর্কে আমার নিবন্ধটি আপডেট করেছি map। অনেক অনেক ধন্যবাদ :)
মেলিগি

1
@ মেলিগি যখন আমি কৌনিক 2 আরসিতে আপগ্রেড করেছি তখন আমার আবার একই সমস্যা হয়েছিল। আমি কীভাবে এটি সমাধান করেছি তা দেখানোর জন্য আমি উপরে আমার উত্তর আপডেট করেছি।
ব্র্যান্ডো

6
import 'rxjs/Rx'; // সমস্ত বৈশিষ্ট্য লোড করুন
VahidN

67

Rxjs 5.5 পর্যবেক্ষণযোগ্য প্রকারে "সম্পত্তি 'মানচিত্র' বিদ্যমান নেই।

সমস্যাটি সম্পর্কিত ছিল যে আপনাকে সমস্ত অপারেটরগুলির চারপাশে পাইপ যুক্ত করা দরকার add

এই পরিবর্তন,

this.myObservable().map(data => {})

এই

this.myObservable().pipe(map(data => {}))

এবং

এর মতো মানচিত্র আমদানি করুন,

import { map } from 'rxjs/operators';

এটি আপনার সমস্যাগুলি সমাধান করবে।


3
এটি আরএক্সজেএস to এর ক্ষেত্রেও প্রযোজ্য Every প্রতিটি টিউটোরিয়াল যা আমি দেখি, সেগুলির পাইপ ছাড়াই মানচিত্রের কার্যকারিতা রয়েছে। উত্তরের বর্ণনার ঠিক মতো আমি 'আরএক্সজেএস / অপারেটর' থেকে পাইপ এবং আমদানি করা মানচিত্র যুক্ত না করা পর্যন্ত এটি আমার পক্ষে কার্যকর হয়নি।
কিভান ​​সাদরালোদাবাই

হ্যাঁ, এটি Rxjs 6-তেও প্রযোজ্য।
হিরান ডিএ ওয়ালাওয়েজ

41

আমার ক্ষেত্রে কেবল মানচিত্র এবং প্রতিশ্রুতি অন্তর্ভুক্ত করা যথেষ্ট নয়:

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';

অফিসিয়াল ডকুমেন্টেশনের পরামর্শ অনুসারে আমি বেশ কয়েকটি আরএক্সজেএস উপাদান আমদানি করে এই সমস্যার সমাধান করেছি :

1) একটি অ্যাপ্লিকেশন / rxjs- অপারেটর.সেট ফাইলগুলিতে বিবৃতি আমদানি করুন:

// import 'rxjs/Rx'; // adds ALL RxJS statics & operators to Observable

// See node_module/rxjs/Rxjs.js
// Import just the rxjs statics and operators we need for THIS app.

// Statics
import 'rxjs/add/observable/throw';

// Operators
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/toPromise';

2) rxjs- অপারেটর নিজেই আপনার পরিষেবাতে আমদানি করুন:

// Add the RxJS Observable operators we need in this app.
import './rxjs-operators';

তবুও, প্রশ্নের সেরা উত্তরের সর্বাধিক ভোট নেই। এটি এই প্রশ্নের সেরা উত্তর। ভাগ করার জন্য আপনাকে ধন্যবাদ। আমি আশা করি অন্যরাও এটিকে ভোট দেয়।
ফ্রস্টি

26

আপনি যদি ভিএস ২০১৫ এ এই ত্রুটিটি দেখতে পেয়ে থাকেন তবে এখানে একটি গিথুব সমস্যা এবং কর্মবিধি উল্লেখ করা আছে:

https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507

এটি আমাকে property map does not exist on observableসমস্যা সমাধানে সহায়তা করেছিল। এছাড়াও, আপনার 1.8.2 এর উপরে টাইপস্ক্রিপ্ট সংস্করণ রয়েছে তা নিশ্চিত করুন


8
প্রতিস্থাপন করা হচ্ছে C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js সঙ্গে typescriptService বনাম 15. কাজ ( পুনর্সূচনা ফাইল প্রতিস্থাপন পর বনাম )
tchelidze

উল্লিখিত ফাইলটি প্রতিস্থাপন করা আমার পক্ষেও কাজ করেছিল
কৃষ্ণন

মাইক্রোসফ্ট থেকে এখনও আপডেট নেই ... তারা কেন এটি ঠিক করছেন না?
পাইট্রেইক

26

যারা 6 অগাস্টার ব্যবহার করে তাদের জন্য শেষ উত্তর:

আপনার * .service.ts ফাইলে নীচের কমান্ডটি যুক্ত করুন "

import { map } from "rxjs/operators";

**********************************************Example**Below**************************************
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}

আমি উইন্ডোজ 10 ব্যবহার করছি;

টাইপ স্ক্রিপ্ট ভি 2.3.4.0 সহ কৌণিক 6


দেখে মনে হচ্ছে আমরা আর এটিকে কেবল app.module.ts এ আমদানি করতে পারি না। এখন আমাদের প্রতিটি পরিষেবা এবং উপাদানগুলিতে এটি আমদানি করতে হবে
অ্যাডাম মেন্ডোজা


13

কৌণিক 2x এ

উদাহরণস্বরূপ। Com

import { Observable } from 'rxjs';

উদাহরণস্বরূপ। Comonal.html

  Observable.interval(2000).map(valor => 'Async value');

কৌণিক 5x বা কৌণিক 6x এ:

উদাহরণস্বরূপ। Com

import { Observable, interval, pipe } from 'rxjs';
import {switchMap, map} from 'rxjs/operators';

উদাহরণস্বরূপ। Comonal.html

valorAsync = interval(2500).pipe(map(valor => 'Async value'));

1
আমাদের সরাসরি ম্যাপের পরিবর্তে পাইপ ব্যবহার করা দরকার কেন?
ক্রিশ

10

অ্যাঙ্গুলার 2.0 ফাইনাল এবং ভিএস 2015 এর জন্য সেপ্টেম্বর 29 2016 আপডেট করুন

কাজের ধরণের আর প্রয়োজন নেই, ঠিক করতে আপনাকে কেবল টাইপস্ক্রিপ্ট সংস্করণ 2.0.3 ইনস্টল করতে হবে

এই গিথুব ইস্যু মন্তব্যে সম্পাদনা থেকে নেওয়া ঠিক করুন


3
আমার এই সমস্যাটি রয়েছে, আমার কাছে 2.0.3 ইনস্টল করা আছে: /
মাইল্ড ফ্যজ

1
আমার টিএস
২.১..6 রয়েছে

এই মন্তব্যের সময়, টিএস সর্বশেষটি 2.5.2.2। এই সংস্করণটি আমার জন্য ব্রেকিং করছে। 2.3.x ব্যবহার করে কাজ করে।
পিগবোট

10

আমি যেমন বুঝতে পারি এটি rxjsশেষ আপডেটের কারণে । তারা কিছু অপারেটর এবং সিনট্যাক্স পরিবর্তন করেছে। এরপরে আমাদের rxঅপারেটরদের এ জাতীয় আমদানি করা উচিত

import { map } from "rxjs/operators";

এর পরিবর্তে

import 'rxjs/add/operator/map';

এবং আমাদের এর মতো সমস্ত অপারেটরগুলির চারপাশে পাইপ যুক্ত করতে হবে

this.myObservable().pipe(map(data => {}))

উত্স এখানে


9

জাস্টিন স্কোফিল্ড তার উত্তরে যেমন পরামর্শ দিয়েছেন, কৌনিক 5 এর সর্বশেষ প্রকাশের জন্য এবং 1 জুন, 2018 হিসাবে কৌণিক 6 এর জন্য, import 'rxjs/add/operator/map';টিএস ত্রুটিটি সরাতে যথেষ্ট নয়: [ts] Property 'map' does not exist on type 'Observable<Object>'.

প্রয়োজনীয় নির্ভরতাগুলি ইনস্টল করতে নীচের কমান্ডটি চালানো এটির প্রয়োজনীয়: npm install rxjs@6 rxjs-compat@6 --saveযার পরে mapআমদানি নির্ভরতা ত্রুটিটি সমাধান হয়ে যায়!


1
আরও ভাঙ্গা পরিবর্তনের মতো দেখে মনে হচ্ছে যা উদ্বেগজনক
Noobie3001

8

আমি একই ত্রুটির মুখোমুখি ছিলাম। আমি এই তিনটি কাজ করার পরে এটি সমাধান করা হয়েছিল:

  1. সর্বশেষতম rxjs আপডেট করুন:

    npm install rxjs@6 rxjs-compat@6 --save
  2. মানচিত্র এবং প্রতিশ্রুতি আমদানি করুন:

    import 'rxjs/add/operator/map';
    import 'rxjs/add/operator/toPromise';
  3. একটি নতুন আমদানির বিবৃতি যুক্ত করা হয়েছে:

    import { Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from 'rxjs';

7

দেখে মনে হচ্ছে সর্বশেষ আরএক্সজেএসের টাইপস্ক্রিপ্ট ১.৮ প্রয়োজন তাই টাইপসক্রিপ্ট ১.7 উপরের ত্রুটিটি রিপোর্ট করে।

আমি সর্বশেষতম টাইপ স্ক্রিপ্ট সংস্করণে আপগ্রেড করে এই সমস্যাটি সমাধান করেছি।


আপনি ব্যবহার করে থাকেন tscহুকুম থেকে চেক করুন tsc -v;-) "স্ক্রিপ্ট" ব্যবহার করে আরও ভাল ধারণা, দেখতে stackoverflow.com/a/37034227/478584
tomaszbak

6

সংস্করণ 5 থেকে 6 এ রূপান্তর করার সময় অনুরূপ ত্রুটি বার্তাগুলি পপ আপ হবে r rxjs-6 এ পরিবর্তনের জন্য এখানে একটি উত্তর।

স্বতন্ত্র অপারেটরগুলি আমদানি করুন, তারপরে pipeশৃঙ্খলার পরিবর্তে ব্যবহার করুন।

import { map, delay, catchError } from 'rxjs/operators'; 

source.pipe(
  map(x => x + x),
  delay(4000),
  catchError(err => of('error found')),
).subscribe(printResult);

6

আপনি যদি কৌণিক 4 ব্যবহার করেন তবে নীচে ব্যবহার করুন আমদানি। এটি কাজ করা উচিত .

'আরএক্সজেএস / অ্যাড / অপারেটর / মানচিত্র' আমদানি করুন;

আপনি যদি কৌনিক 5/6 ব্যবহার করে থাকেন তবে পাইপের সাথে মানচিত্রটি ব্যবহার করুন এবং একের নীচে আমদানি করুন

"rxjs / অপারেটর" থেকে {মানচিত্র {আমদানি করুন;


1

'পর্যবেক্ষণযোগ্য প্রতিক্রিয়া' কৌণিক 6 প্রকারে সম্পত্তি 'মানচিত্র' বিদ্যমান নেই

সমাধান: অ্যাঙ্গুলার সিএলআই এবং কোর সংস্করণ আপডেট করুন

ng update @angular/cli           //Update Angular CLi 
ng update @angular/core          //Update Angular Core 
npm install --save rxjs-compat   //For Map Call For Post Method 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.