typescript - Angular 4. Hata "ngModule'e bağlanılamıyor çünkü bu bilinen bir özellik değil" ancak FormsModule app.module.shared.ts dosyasında import edilmiş
"‘select’ bilinmeyen bir özellik olduğundan 'ngModule'a bağlanamıyor." hatasıyla takıldım. Çözümün app.module.shared.ts dosyasına FormsModule'u ithal etmek olması gerekiyordu. Bunu yaptım, ama hâlâ aynı hatayı alıyorum.
app.modülü.paylaşılan.t
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './components/app/app.component';
import { NavMenuComponent } from './components/navmenu/navmenu.component';
import { HomeComponent } from './components/home/home.component';
import { StatisticComponent} from './components/statistic/statistic.component';
import { StatisticViewComponent } from './components/statisticview/statisticview.component';
import { StatService } from './components/services/stat.service';
@NgModule({
declarations: [
AppComponent,
NavMenuComponent,
HomeComponent,
StatisticComponent,
StatisticViewComponent
],
imports: [
FormsModule,
CommonModule,
HttpModule,
RouterModule.forRoot([
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'statistic', component: StatisticComponent },
{ path: 'statisticview', component: StatisticViewComponent },
{ path: '**', redirectTo: 'home' }
])
],
providers: [
StatService
]
})
export class AppModuleShared {
}
istatistikgörünüm.bileşen.ts
import { StatService } from './../services/stat.service';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-statistic-view',
templateUrl: './statisticview.component.html',
styleUrls: ['./statisticview.component.css']
})
export class StatisticViewComponent implements OnInit {
private affiliates:string[]
selectedAffiliate: any;
constructor(private statService: StatService) {
}
ngOnInit(): void {
this.statService.getAvailableAffiliates().subscribe( s => {
this.affiliates = s;
console.log(s);
})
}
OnAffiliateChange() {
console.log(this.selectedAffiliate)
}
}
istatistikgörünüm.bileşen.html
<div class="row">
<div class="form-group">
<label for="aff">Affiliate</label>
<select name="aff" id="aff" class="form-control" (change)="OnAffiliateChange()" [(ngModule)] ="selectedAffiliate">
<option value=""></option>
<option *ngFor="let a of affiliates" value="{{a}}">{{a}}</option>
</select>
</div>
</div>
package.json'den
"dependencies": {
"@angular/animations": "4.2.5",
"@angular/common": "4.2.5",
"@angular/compiler": "4.2.5",
"@angular/compiler-cli": "4.2.5",
"@angular/core": "4.2.5",
"@angular/forms": "4.2.5",
"@angular/http": "4.2.5",
"@angular/platform-browser": "4.2.5",
........
Cevap #1
NgModule yerine ngModel olmalıdır
<select name="aff" id="aff" class="form-control" (change)="OnAffiliateChange()" [(ngModel)] ="selectedAffiliate">
<option value=""></option>
<option *ngFor="let a of affiliates" value="{{a}}">{{a}}</option>
</select>
