Ich habe kürzlich eckig-2-Version von Beta-17 auf RC4 aktualisiert.Fehler in Angular2 - Kein Wert Accessor ''
Ich habe die Lösung der Frage, No value accessor for '' angular2 gesehen.
Meine Frage bezieht sich auf die Antwort dieser Frage.
Ich habe meine boot.ts aktualisiert mit
import { bootstrap } from '@angular/platform-browser-dynamic';
import { provide, enableProdMode, PLATFORM_DIRECTIVES } from '@angular/core';
import { LocationStrategy, HashLocationStrategy } from '@angular/common';
import { HTTP_PROVIDERS, Http } from '@angular/http';
import {disableDeprecatedForms, provideForms} from '@angular/forms';
import { AppComponent } from './app.component';
import { APP_ROUTER_PROVIDERS} from './app.routes';
var injectables = [
provideForms(),
disableDeprecatedForms(),
APP_ROUTER_PROVIDERS,
provide(LocationStrategy, { useClass: HashLocationStrategy }),
HTTP_PROVIDERS,
];
bootstrap(AppComponent, injectables)
.then(null, console.error.bind(console));
ich noch Fehler für den Wert Accessor bin vor, Fehler wie folgt
platform-browser.umd.js:1900 Error: No value accessor for ''
at new BaseException (forms.umd.js:599)
at _throwError (forms.umd.js:1569)
at setUpControl (forms.umd.js:1546)
at NgModel._setUpStandalone (forms.umd.js:2349)
at NgModel._setUpControl (forms.umd.js:2341)
at NgModel.ngOnChanges (forms.umd.js:2300)
at DebugAppView._View_ProjectDetailComponent1.detectChangesInternal (ProjectDetailComponent.template.js:1176)
at DebugAppView.AppView.detectChanges (core.umd.js:12143)
at DebugAppView.detectChanges (core.umd.js:12247)
at DebugAppView.AppView.detectContentChildrenChanges (core.umd.js:12161)
Aus Fehler kann ich ableiten, dass seine Winkel mit/Formen nicht eckig/Allgemein.
My Component Defination ist wie folgt,
import {Component, Injector, OnInit, OnDestroy} from '@angular/core';
import {FORM_DIRECTIVES} from '@angular/common';
import {Subscription} from 'rxjs/Rx';
import {ProjectComponent} from '../../../project.component';
import { Calendar, InputText, InputTextarea, Checkbox, DataTable, Column, Dropdown } from 'primeng/primeng';
@Component({
selector: 'projectDetail',
directives: [Calendar, InputText, InputTextarea, Checkbox, DataTable, Column, Dropdown, FORM_DIRECTIVES],
templateUrl: 'template/project/details/project'
})
Meine Komponente Vorlage:
<input type="text" class="form-control" name="ProjectNo" [(ngModel)]="ProjectNo" />
<input type="text" pInputText class="form-control" name="ProjectText" [(ngModel)]="Text" />
<textarea pInputTextarea class="form-control" name="ProjectAdditionalText"></textarea>
<input type="text" pInputText class="form-control" name="Phase" [(ngModel)]="Phase" />
<p-calendar [readonlyInput]="true" monthNavigator="true" yearNavigator="true" placeholder="Pick a date" name="PlannedStartDate" [(ngModel)]="PlannedStartDate"></p-calendar>
<p-checkbox name="BackwardPlanning" [(ngModel)]="BackwardPlanning"></p-checkbox>
Ist es falsch zu benutzen?
importieren {FORM_DIRECTIVES} aus '@ angular/common';
[Bearbeiten] - Nach @ Harry Vorschlag, ich
Import {REACTIVE_FORM_DIRECTIVES} von '@ Winkel/forms' verwendet haben;
Aber es führt mich zu einem anderen Fehler wie folgt
platform-browser.umd.js:1900 ORIGINAL EXCEPTION: No provider for NgModel!
platform-browser.umd.js:1900 Error: DI Exception
at NoProviderError.BaseException [as constructor] (core.umd.js:4412)
at NoProviderError.AbstractProviderError [as constructor] (core.umd.js:4529)
at new NoProviderError (core.umd.js:4565)
at ReflectiveInjector_._throwOrNull (core.umd.js:6461)
at ReflectiveInjector_._getByKeyDefault (core.umd.js:6489)
at ReflectiveInjector_._getByKey (core.umd.js:6452)
at ReflectiveInjector_.get (core.umd.js:6261)
at ElementInjector.get (core.umd.js:11873)
at ElementInjector.get (core.umd.js:11873)
at ReflectiveInjector_._getByKeyDefault (core.umd.js:6486)
Bitte helfen.
Ich denke, es der Fall ist. Sie können auch das Formular so ändern, dass 'REACTIVE_FORM_DIRECTIVES' aus' @ angular/forms' verwendet wird. –
@HarryNinh: Ich habe die Frage nach Ihrem Kommentar bearbeitet. Sie können einen weiteren Fehler für NgModel Now sehen. Für mich ist noch unklar, warum plötzlich NgModel nicht gefunden wird. – Jeet
Ich denke, Sie sollten zu FORM_DIRECTIVES zurückkehren. Ich denke, das Problem besteht darin, dass Sie jetzt allen Ihren Eingaben, die [(ngModel)] haben, Namensattribute hinzufügen müssen. Das neue Formularmodell erfordert es. –