当前位置: 首页 > 知识库问答 >
问题:

Angular2问题:没有将“exportas”设置为“ngform”的指令

戚英逸
2023-03-14

我正面临着一个令人沮丧的问题

没有将“exportas”设置为“ngform”的指令(“
]#f=”ngform“(ngSubmit)=”onsubmit(f)“class=”form-hosteral“>”):ng:///componentsmodule/equipeComponent.html@8:12错误:模板解析错误:没有将“exportas”设置为“ngform”(“]#f=”ngform“(ngSubmit)=”onsubmit(f)“class=”form-hosteral“>”的指令:ng:///componentsmodule/equipeComponent.html@8:12

这就是我的app.module.ts所包含的内容

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { LocationStrategy, HashLocationStrategy } from '@angular/common';
import { NgForm } from '@angular/forms';
import { FormsModule, ReactiveFormsModule }   from '@angular/forms';

import { AppComponent } from './app.component';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { TabsModule } from 'ngx-bootstrap/tabs';
import { NAV_DROPDOWN_DIRECTIVES } from './shared/nav-dropdown.directive';

import { ChartsModule } from 'ng2-charts/ng2-charts';
import { SIDEBAR_TOGGLE_DIRECTIVES } from './shared/sidebar.directive';
import { AsideToggleDirective } from './shared/aside.directive';
import { BreadcrumbsComponent } from './shared/breadcrumb.component';

// Routing Module
import { AppRoutingModule } from './app.routing';

// Layouts
import { FullLayoutComponent } from './layouts/full-layout.component';
import { SimpleLayoutComponent } from './layouts/simple-layout.component';

@NgModule({
  imports: [
    BrowserModule,
    AppRoutingModule,
    BsDropdownModule.forRoot(),
    TabsModule.forRoot(),
    ChartsModule,
    FormsModule,
    ReactiveFormsModule                        
  ],
  declarations: [
    AppComponent,
    FullLayoutComponent,
    SimpleLayoutComponent,
    NAV_DROPDOWN_DIRECTIVES,
    BreadcrumbsComponent,
    SIDEBAR_TOGGLE_DIRECTIVES,
    AsideToggleDirective,
  ],
  providers: [{
    provide: LocationStrategy,
    useClass: HashLocationStrategy
  }],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

我对Angular2几乎是新手,所以我不知道我的代码有什么问题。

这是equipe.component.html的内容

<div class="animated fadeIn">
    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header">
                    <strong>Ajout Equipe</strong>
                </div>
                <div class="card-block">
                    <form #f="ngForm" (ngSubmit)="onSubmit(f)" class="form-horizontal">
                        <div class="form-group row">
                            <label class="col-md-3 form-control-label" for="text-input">Nom Equipe</label>
                            <div class="col-md-9">
                                <input type="text" id="text-input" name="text-input" class="form-control" placeholder="Saisir le nom de l'equipe" required>
                            </div>
                            <div class="form-group row">
                                <label class="col-md-3 form-control-label" for="textarea-input">Description</label>
                                <div class="col-md-9">
                                    <textarea id="textarea-input" name="textarea-input" rows="9" class="form-control" placeholder="Description de l'equipe"></textarea>
                                </div>
</div>
                        </div>
                    </form>
                    </div>
                    <div class="card-footer">
                        <button type="submit" class="btn btn-sm btn-primary pull-right"><i class="fa fa-dot-circle-o"></i> Ajouter</button>
                    </div>
                </div>
            </div><!--/.col-->
        </div><!--/.row-->
    </div>

这是equipe.component.ts的内容:

import { Component } from '@angular/core';
import { NgForm} from '@angular/forms';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';

@Component({
templateUrl: 'equipe.component.html',
})
export class EquipeComponent {

constructor() { }
onSubmit(f:NgForm) {
console.log('this is a test');
}
}

这是我的ComponentsModule的内容

import { NgModule } from '@angular/core';

import { ButtonsComponent } from './buttons.component';
import { CardsComponent } from './cards.component';

// Forms Component
import { FormsComponent } from './forms.component';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';

import { SocialButtonsComponent } from './social-buttons.component';
import { SwitchesComponent } from './switches.component';
import { TablesComponent } from './tables.component';

// Modal Component
import { ModalModule } from 'ngx-bootstrap/modal';
import { ModalsComponent } from './modals.component';

// Tabs Component
import { TabsModule } from 'ngx-bootstrap/tabs';
import { TabsComponent } from './tabs.component';
// Ressource Component
import { RessourceComponent } from './ressource.component';
// Equipe Component
import { EquipeComponent } from './equipe.component';
// Components Routing
import { ComponentsRoutingModule } from './components-routing.module';

@NgModule({
imports: [
ComponentsRoutingModule,
BsDropdownModule.forRoot(),
ModalModule.forRoot(),
TabsModule
],
declarations: [
ButtonsComponent,
CardsComponent,
FormsComponent,
ModalsComponent,
SocialButtonsComponent,
SwitchesComponent,
TablesComponent,
TabsComponent,
RessourceComponent,
EquipeComponent
]
})
export class ComponentsModule { }

共有1个答案

杜俊晤
2023-03-14
@NgModule({
  imports: [
    FormsModule,
    // or SharedModule that exports FormsModule
    ...
  ],
  declarations: [
    EquipeComponent,
    SomeComponent
  ]
})
export class ComponentsModule {}

在前面的代码中,angular将使用SomeComponent指令和其他模块导出的所有指令编译EquipeComponent模板

export const TEMPLATE_DRIVEN_DIRECTIVES: Type<any>[] = [NgModel, NgModelGroup, NgForm];
                                                                                ^^^^^
@NgModule({
  declarations: TEMPLATE_DRIVEN_DIRECTIVES,
  providers: [RadioControlRegistry],
  exports: [InternalFormsSharedModule, TEMPLATE_DRIVEN_DIRECTIVES]
                                              ^^^^^^^^^^^^
})
export class FormsModule {
}

@Directive({
  ...
  exportAs: 'ngForm'
})
export class NgForm extends ControlContainer implements Form {

另见

  • Angular 2使用来自其他模块的组件
 类似资料:
  • 我在RC4上,我得到了一个错误,因为我的模板没有将“exportas”设置为“ngform”的指令: boot.ts: ///下面是我的下拉列表:

  • 当我尝试测试时,得到以下错误 我的组件看起来像的一部分, 似乎无法使用上述提供程序、声明等创建假组件。就像其他人所说的,我已经在装饰器中包含了。

  • 我在使用Typescript的Angular2-forms框架时不断地出现这个错误: 这是我的代码 项目依赖项: ...和登录组件: 我有这个错误:

  • 以下是AngularJS项目中的文件。正如一些帖子所建议的,我补充道: 在输入字段中,但仍然得到一个错误。 包裹json change-password.component.html 更改密码。组成部分ts 应用程序。单元ts有进口产品 我得到以下错误: 未处理的Promise拒绝:模板解析错误:没有将exportAs设置为ngModel的指令(当前密码)#当前密码=ngModel id=当前密码

  • 下面是AngularJS项目中的文件。正如在一些帖子中所建议的,我已经补充了: 输入字段中,但仍然得到一个错误。 我得到以下错误: 未处理的promise拒绝:模板分析错误:没有将“exportas”设置为“ngmodel”的指令(“urrent Password]#currentpassword=”ngmodel“id=”currentpassword“name=”currentpassword

  • 我在使用angular 4时遇到了一个问题 没有将“exportas”设置为“ngModel”的指令(“name=”fullname“type=”text“required maxlength=”30“[(ngModel)=”model.fullname“[ERROR->]#fullname=”ngModel“> app.module.ts