ব্যতিক্রম: 'এনজিফোর্ড' এর সাথে আবদ্ধ হতে পারে না কারণ এটি কোনও পরিচিত দেশীয় সম্পত্তি নয়


286

আমি কি ভুল করছি?

import {bootstrap, Component} from 'angular2/angular2'

@Component({
  selector: 'conf-talks',
  template: `<div *ngFor="talk of talks">
     {{talk.title}} by {{talk.speaker}}
     <p>{{talk.description}}
   </div>`
})
class ConfTalks {
  talks = [ {title: 't1', speaker: 'Brian', description: 'talk 1'},
            {title: 't2', speaker: 'Julie', description: 'talk 2'}];
}
@Component({
  selector: 'my-app',
  directives: [ConfTalks],
  template: '<conf-talks></conf-talks>'
})
class App {}
bootstrap(App, [])

ত্রুটিটি হ'ল

EXCEPTION: Template parse errors:
Can't bind to 'ngFor' since it isn't a known native property
("<div [ERROR ->]*ngFor="talk of talks">

উত্তর:


644

আমি letসামনে মিস করেছি talk:

<div *ngFor="let talk of talks">

মনে রাখবেন যে বিটা .১7 হিসাবে এনজিফোর্ডের#... মতো কাঠামোগত নির্দেশের ভিতরে স্থানীয় ভেরিয়েবলগুলি ঘোষণার ব্যবহার হ্রাস করা হয়েছে dep letপরিবর্তে ব্যবহার করুন।

<div *ngFor="#talk of talks"> এখন হয়ে যায় <div *ngFor="let talk of talks">

আসল উত্তর:

আমি #সামনে মিস করেছি talk:

<div *ngFor="#talk of talks">

এটি ভুলে যাওয়া এত সহজ #। আমি কৌণিক ব্যতিক্রম ত্রুটি বার্তা পরিবর্তে বলতে হবে ইচ্ছুক:
you forgot that # again


এম্পারস্যান্ড ঠিক কীসের জন্য? আমি আমার নিজস্ব সমস্যাগুলি স্থির করেছি, তবে এটি এমনকি কী করে তা সম্পর্কে আমি নিশ্চিত নই।
ডেটাটাইপ_ভয়েড


# টির পরিবর্তে "লেট" সিনট্যাক্সটি ব্যবহার করার চেষ্টা করেছি এটির ফলে "এনজিফোর্ডের সাথে আবদ্ধ হতে পারে না কারণ এটি পরিচিত নেটিভ সম্পত্তি নয়"। আপনার আসল প্রশ্নে যেমন দেখেছেন তেমন আচরণ। আমি এটিকে আবার # এ পরিবর্তন করেছি এবং দেখে মনে হচ্ছে কোনও সমস্যা ছাড়াই এটি কাজ করবে। আমি কৌনিক 2.0.0-rc.1 ব্যবহার করছি এবং আমি কৌনিক 2.0.0-beta.17
চ্যাডলি08

1
@ চ্যাডলি08, একটি প্লঙ্কার তৈরি করুন। এটি কাজ করা উচিত. এখানে একটি আরসি .১ পাঙ্কার এবং একটি বিটা .১ pl প্লঙ্কার উভয়ই ঠিকঠাক কাজ করে।
রাজকোক

ত্রুটি বার্তাকে বিভ্রান্ত করার বিষয়ে এখানে একটি কৌণিক সমস্যা রয়েছে: github.com/angular/angular/issues/10644
আলেকজান্ডার টেলর

79

অপের ত্রুটির দিকে পরিচালিত আরেকটি টাইপও ব্যবহার করা যেতে পারে in:

<div *ngFor="let talk in talks">

ofপরিবর্তে আপনার ব্যবহার করা উচিত :

<div *ngFor="let talk of talks">

21

এই বিবৃতিটি Angular2 বিটা সংস্করণে ব্যবহৃত হয়েছে .....

পরবর্তীতে # এর পরিবর্তে ব্যবহার করা যাক

দিন শব্দ স্থানীয় ভেরিয়েবল ডিক্লেয়ার করতে ব্যবহৃত হয়


13

আমার ক্ষেত্রে এটি একটি ছোট চিঠি ছিল f । গুগলে এটি প্রথম ফলাফল হওয়ায় আমি এই উত্তরটি ভাগ করছি

লিখতে ভুলবেন না *ngFor


10

কৌণিক 7 এ .module.tsফাইলগুলিতে এই লাইনগুলি যুক্ত করে এটি ঠিক করা হয়েছে :

import { CommonModule } from '@angular/common'; imports: [CommonModule]


2
আশ্চর্যরূপে এর আরও উত্সাহ নেই। সম্পূর্ণ আমার একটি মডিউলটিতে কমনমডুল আমদানি করতে ভুলে গিয়েছিলাম এবং নিজেই এই ত্রুটির মধ্যে পড়ে।
অ্যালেন রুফলো

8

স্থানীয় ভেরিয়েবলগুলি ঘোষণার জন্য আপনার লেট কীওয়ার্ডটি ব্যবহার করা উচিত যেমন * এনজিফোর্ড = "আলোচনার কথা বলা যাক"


5

আমার জন্য, একটি দীর্ঘ গল্প সংক্ষিপ্ত কাটা, আমি অজান্তে কৌনিক-বিটা -16 এ ডাউনগ্রেড করেছিলাম।

আসুন ... বাক্য গঠনটি কেবল 2.0.0-বিটা.17 + এ বৈধ

যদি আপনি এই সংস্করণটির নীচে কিছুতে সিনট্যাক্স ব্যবহার করতে চান আপনি এই ত্রুটি উত্পন্ন করবে।

হয় কৌণিক-বিটা -17 এ আপগ্রেড করুন বা আইটেম সিনট্যাক্সে #item ব্যবহার করুন।



2

আমি " @ ইনপুট " দিয়ে আমার উপাদানটি বর্জন করতে ভুলে গেছি " (দোহ!)

book-list.componal.html ( অফারিং কোড):

<app-book-item
  *ngFor="let book of book$ | async"
  [book]="book">  <-- Can't bind to 'book' since it isn't a known property of 'app-book-item'
</app-book-item>

Book-item.componal.ts এর সংশোধিত সংস্করণ :

import { Component, OnInit, Input } from '@angular/core';

import { Book } from '../model/book';
import { BookService } from '../services/book.service';

@Component({
  selector: 'app-book-item',
  templateUrl: './book-item.component.html',
  styleUrls: ['./book-item.component.css']
})
export class BookItemComponent implements OnInit {

  @Input()
  public book: Book;

  constructor(private bookService: BookService)  { }

  ngOnInit() {}

}

2

এছাড়াও এটিতে খাঁটি টাইপসক্রিপ্টটি ব্যবহার করার চেষ্টা করবেন না ... আমি আরও forব্যবহার এবং ব্যবহারের সাথে সামঞ্জস্য করতে চাই*ngFor="const filter of filters" এনজিওর জন্য একটি পরিচিত সম্পত্তি ত্রুটি নয় got শুধু লেট দ্বারা কনস্ট প্রতিস্থাপন কাজ করছে।

@ অ্যালেক্সান্দার-আবাকুমভ ofপ্রতিস্থাপনের জন্য বলেছিলেন in


আমার ইস্যুটি "আমি" ইন "ব্যবহারের" পরিবর্তে ছিলাম
ইশিম্বই আউবাইনের কনসোলিটর

0

আমার ক্ষেত্রে, এই ত্রুটির ফলে * ngfor ব্যবহার করে উপাদানযুক্ত মডিউলটি অ্যাপ.মডিউল.টসগুলিতে অন্তর্ভুক্ত ছিল না। আমদানি অ্যারেটিতে এটি অন্তর্ভুক্ত করে আমার জন্য সমস্যাটি সমাধান করা হয়েছে।


0

শুধু একটা আরো ক্ষেত্রে যখন আমি একই ভুল পেয়ে ছিল এবং কারন ব্যবহার করছিলেন আবরণ মধ্যে পরিবর্তে এর পুনরুক্তিকারীর মধ্যে

ভুল পথ let file in files

সঠিক পথ let file of files


0

এটা ব্যবহার কর

<div *ngFor="let talk of talks> 
   {{talk.title}} 
   {{talk.speaker}}
   <p>{{talk.description}} 
</div>

কোনও অবজেক্টের অ্যারেতে পুনরাবৃত্তি করতে আপনাকে ভেরিয়েবল নির্দিষ্ট করতে হবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.