Saya terus mendapatkan kesalahan ini saat menggunakan kerangka kerja Angular2-bentuk TypeScript:
Tidak ada
directive
dengan "exportAs" diatur ke "ngForm"
Ini kode saya
ketergantungan proyek:
"dependencies": {
"@angular/common": "2.0.0-rc.6",
"@angular/compiler": "2.0.0-rc.6",
"@angular/core": "2.0.0-rc.6",
"@angular/forms": "2.0.0-rc.6",
"@angular/http": "2.0.0-rc.6",
"@angular/platform-browser": "2.0.0-rc.6",
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
"@angular/router": "3.0.0-rc.2",
"ng2-bootstrap": "^1.1.1",
"reflect-metadata": "^0.1.8",
"core-js": "^2.4.0",
"es6-module-loader": "^0.17.8",
"rxjs": "5.0.0-beta.11",
"systemjs": "0.19.27",
"zone.js": "0.6.17",
"jquery": "3.0.0",
}
Dan ini adalah Template Login:
<form #loginForm="ngForm" (ng-submit)="authenticate(loginForm.value)">
</form>
... dan Komponen Masuk:
import { Component } from '@angular/core';
import {Http, Headers} from '@angular/http';
@Component({
moduleId: module.id,
selector: 'login-cmp',
templateUrl: 'login.component.html'
})
export class LoginComponent {
constructor($http: Http) {
this.$http = $http;
}
authenticate(data) {
...
}
}
Saya memiliki Galat ini:
zone.js?1474211973422:484 Unhandled Promise rejection: Template parse errors:
There is no directive with "exportAs" set to "ngForm" ("
<form [ERROR ->]#loginForm="ngForm"
(ngsubmit)="authenticate(loginForm.value)">
angular
typescript
forms
angular2-forms
Nassim MOUALEK
sumber
sumber
div
dan menyebabkan kesalahan ini.imports
array, dan bukanproviders
arrayAnda harus mengimpor
FormsModule
ke tidak hanya AppModule root, tetapi juga ke setiap subModule yang menggunakan arahan bentuk sudut.sumber
Saya tahu ini adalah pos lama, tetapi saya ingin membagikan solusi saya. Saya telah menambahkan " ReactiveFormsModule " di impor [] array untuk menyelesaikan kesalahan ini
Kesalahan: Tidak ada arahan dengan "exportAs" disetel ke "ngForm" ("
Memperbaiki:
module.ts
import {FormsModule, ReactiveFormsModule } dari '@ angular / form'
sumber
sumber
(Kalau-kalau ada orang buta seperti saya)
form
FTW ! Pastikan untuk menggunakan<form>
tagtidak akan bekerja:
bekerja seperti pesona:
sumber
Dalam hal nama ditugaskan seperti ini:
... exportA harus didefinisikan dalam dekorator komponen:
sumber
periksa apakah Anda mengimpor FormsModule. Tidak ada ngControl dalam bentuk baru versi rilis angular 2. Anda harus mengubah template Anda sebagai contoh
sumber
Dua Hal yang Harus Anda Peduli ..
Jika Anda menggunakan sub modul, Anda harus mengimpor FormModule di sub modul itu.
Anda harus mengekspor FormModule dalam modul
jadi bersama-sama terlihat seperti impor: [CommonModule, HttpModule, FormsModule], ekspor: [FormsModule],
di Top kamu harus mengimpor FormsModule
impor {FormsModule} dari '@ angular / form';
jika Anda hanya menggunakan app.module.ts lalu
tidak perlu ekspor .. hanya perlu impor
sumber
import { FormsModule } from '@angular/forms';
Tambahkan ke array impor NgModule:@NgModule({ imports: [ FormsModule ],
Saya menghadapi masalah ini, tetapi tidak ada jawaban di sini yang berfungsi untuk saya. Saya mencari di Google dan menemukan itu
FormsModule not shared with Feature Modules
Jadi Jika formulir Anda ada dalam modul unggulan, maka Anda harus mengimpor dan menambahkan
FromsModule
sana.Silakan ref: https://github.com/angular/angular/issues/11365
sumber
Selain mengimpor modul formulir dalam file komponen ts login Anda perlu mengimpor NgForm juga.
Ini menyelesaikan masalah saya
sumber
di app.module.ts untuk secara permanen menyelesaikan kesalahan seperti
"cannot bind [formGroup] or no directive with export as"
.sumber
Ini
Juga menyebabkan kesalahan dan dapat diperbaiki dengan memasukkan arahan ngForm .
sumber
Saya sampai pada pertanyaan yang sama berulang-ulang, juga karena alasan yang sama. Jadi izinkan saya menjawab ini dengan mengatakan apa yang salah yang saya lakukan. Mungkin bermanfaat bagi seseorang.
Saya sedang membuat komponen melalui
angular-cli
perintahApa yang dilakukannya, telah menciptakan komponen seperti yang saya inginkan.
Juga, Saat membuat komponen, itu menambahkan komponen dalam array deklarasi Modul Aplikasi .
Jika ini masalahnya, harap hapus. Dan Voila! Mungkin berhasil.
sumber
Anda harus mengimpor FormsModule dan kemudian meletakkannya di bagian impor.
sumber
Sederhana jika Anda belum mengimpor modul maka impor dan nyatakan impor {FormsModule} dari '@ angular / form';
dan jika Anda melakukannya maka Anda hanya perlu menghapus formControlName = 'apa pun' dari bidang input.
sumber
Anda harus menghentikan aplikasi dengan ctrl + c dan menjalankannya kembali dengan ng serve, jika Anda tidak memasukkan FormsModule ke dalam array file impor app.module Anda, lalu menambahkannya nanti, sudut tidak mengetahuinya, tidak memindai ulang modul , Anda harus me-restart aplikasi sehingga sudut dapat melihat bahwa modul baru disertakan, setelah apa yang akan termasuk semua fitur pendekatan drive template
sumber
Dalam kasus saya, saya harus menghapus
ngNoForm
atribut dari<form>
tag saya .Referensi: https://www.techiediaries.com/angular-ngform-ngnoform-template-reference-variable/
sumber
Saya baru saja pindah modul routing yaitu mengatakan ARoutingModule di atas FormsModule dan ReactiveFormsModule dan setelah CommonModule dalam impor array modul.
sumber
Cukup impor modul yang benar,
"FormsModule"
sumber
Kesalahan ini juga terjadi jika Anda mencoba untuk menulis unit uji kasus dalam sudut menggunakan melati.
Konsep dasar dari kesalahan ini adalah untuk
import FormsModule
. Dengan demikian, dalam file untuk pengujian unit, kami menambahkan Bagian impor dan menempatkan FormsModule dalam file itu di bawahsumber
Saya memiliki masalah yang sama dan menyelesaikannya dengan memperbarui semua dependensi (package.json) dengan perintah berikut
npm update -D && npm update -S
Seperti yang ditunjukkan oleh @ Günter Zöchbauer, pastikan untuk memasukkan FormsModule terlebih dahulu.
sumber