Fehler: Template-parsing-Fehler: Can ' T bind to 'myProperty", da ist es nicht eine bekannte Eigenschaft von 'myComponent'
Nach dem Upgrade von Winkel-2.1.0 auf 2.4.3 und webpack von 2.1.0-beta.25 bis 2.2.0-rc.4. ich erhalten diesen Fehler, wenn ich meine webapp (das erstellen funktioniert ohne Fehler):
Error: Template parse errors: Can't bind to 'center' since it isn't a known property of 'placeFilter'.
Im moment habe ich einen einzigen zentralen Modell wie dieses (ja, ich weiß 🙂 ich werde es ändern danach):
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppRoutingModule } from './app.routes';
...
import {MapComponent} from './map/map/map.component';
...
import {PlaceFilterComponent} from './map/shared/components/placeFilter.component';
...
@NgModule({
imports: [BrowserModule, AppRoutingModule, FormsModule, HttpModule],
declarations: [...
MapComponent,
...
PlaceFilterComponent,
...
],
bootstrap: [AppComponent]
})
export class AppModule { }
Meine MapComponent enthält eine sub-Komponente namens PlaceFilterComponent:
import { Component, OnInit, OnDestroy, Input, Output, NgZone } from '@angular/core';
import { ActivatedRoute, Params, Router} from '@angular/router';
import {Subscription} from "rxjs";
import {TimerObservable} from "rxjs/observable/TimerObservable";
import services
import models
@Component({
selector: 'emersy-content',
templateUrl: './map.component.html',
providers: [myServices]
})
export class MapComponent implements OnInit, OnDestroy {
...
constructor(private placeService: PlaceService, private externalService: ExternalServiceService, private zone: NgZone, private route: ActivatedRoute, private router: Router) {
...
});
}
...
}
Hier meine MapComponentTemplate:
<div class="filterbox-map" *ngIf="!onlyMap">
<place-filter (onSearchLocationChange)="searchLocationChange($event)" (onShowSideBarButtonClick)="showSideBarButtonClick()" [center]="center" [searchTerm]="searchTerm"></place-filter>
</div>
Und meine PlaceFilter-Komponente ist wie folgt:
import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';
import {Center} from '../models/center'
declare var google: any;
@Component({
selector: 'place-filter',
templateUrl: './placeFilter.component.html'
})
export class PlaceFilterComponent {
...
private _center: Center;
get center() {
return this._center;
}
@Input() set center(center: Center) {
this._center = center;
}
constructor() {
}
...
}
Meine Ordner-Struktur ist wie folgt:
app
L app.module.ts
L map
L map
| L map.component.ts
| L map.component.html
L shared
L components
L placefilter.component.ts
L placefilter.component.html
Wo ist
Wo sind
sorry Jungs myComponent = placeFilter und myProperty = center
myProperty
im code verwendet? Der code in deiner Frage erwähnt es nicht.Wo sind
myProperty
und myComponent
hier verwendet?sorry Jungs myComponent = placeFilter und myProperty = center
InformationsquelleAutor cpiock | 2017-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe auch einen code wie dieser: @Input() set selectedLayers(selectedLayers: Array<GeoService>) { es._selectedLayers = selectedLayers; wenn (selectedLayers != null) { dieses.selectedLayersChange(dies.selectedLayers); } } Wie kann ich dies tun ohne Eigenschaften?
ok gelöst mit ngonchanges
"Doppelte Bezeichner" auf eckige 6. Können Sie trennen den code in zwei Blöcke vor/nach ?
InformationsquelleAutor ani5ha