jit_nodeValue_4(...).$ any不是Angular5函数

arp*_*ech 21 angular2-forms angular2-template angular angular4-forms angular5

ERROR TypeError: jit_nodeValue_4(...).$any is not a function
at Object.eval [as handleEvent] (AddNewConnectionsComponent.html:42)
at handleEvent (core.js:13581)
at callWithDebugContext (core.js:15090)
at Object.debugHandleEvent [as handleEvent] (core.js:14677)
at dispatchEvent (core.js:9990)
at eval (core.js:10611)
at HTMLInputElement.eval (platform-browser.js:2628)
at ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4744)
at ZoneDelegate.invokeTask (zone.js:420)
Run Code Online (Sandbox Code Playgroud)

我在表单组的必填字段上收到此错误.

我的ts文件代码

        import { Component, OnInit } from '@angular/core';
        import { FormBuilder, Validators, FormGroup, FormControl } from '@angular/forms'
         import {ActivatedRoute, Router} from "@angular/router";

     @Component({
   selector: 'app-add-new-connections',
 templateUrl: './add-new-connections.component.html',
 styleUrls: ['./add-new-connections.component.scss']
})
export class AddNewConnectionsComponent {

 addNewConnectionForm: any;

 constructor(public fb: FormBuilder) { 
 this.addNewConnectionForm = new FormGroup({
  'connection_name': new FormControl("", [
    Validators.required
  ])
});
Run Code Online (Sandbox Code Playgroud)

我的Html文件代码

<form [formGroup]="addNewConnectionForm" (ngSubmit)="saveConnection()" novalidate>
            <div class="col-sm-4"> 
<div class="form-group">
                  <label>Connection Name ?</label>
                  <input type="text" name="name" placeholder="" (change)="changeFun()" class="form-control" required>
                  <div *ngIf=>
                      Name is required.
                    </div>
                  <small [hidden]="addNewConnectionForm.controls.connection_name.valid" class="text-danger">Required</small>
              </div>
            </div>
            <button type="submit" [disabled]="!addNewConnectionForm.valid">Submit</button>
          </form>
Run Code Online (Sandbox Code Playgroud)

我几乎尝试了所有可用的东西.但我无法找到我在app.module.ts文件中导入FormsModule和ReactiveFormsModule的任何解决方案.你能告诉我一个怎么做的方法吗?

Pat*_*yer 33

对我来说,问题是不同的.

我正在使用Angular材质菜单.在模板中,菜单声明了一个像这样的局部变量<mat-menu #share='matMenu'>. share也是我想在组件中调用的函数的名称,现在已被覆盖.更改其中一个名称修复此问题.

  • 噢,老兄,我在这个问题上浪费了整个周末。非常感谢。我希望我可以为这个答案做更多的事情。:) (4认同)
  • 名称冲突问题 (2认同)

Jai*_*Jai 9

当您有两个具有相同名称的不同数据类型的引用时,通常会发生这种情况。所以你可能有一个模板参考变量#logout和一个点击时调用的按钮logout()。单击该按钮会引发与您遇到的错误类似的错误。


ton*_*9uk 4

使用命令行转到与package.json要更新的应用程序文件相同的目录。

运行npm outdated,您将看到需要更新的软件包列表。我的应用程序相当新,因此更新所有内容不是问题(如果您需要更新特定的软件包,这将对您有所帮助)。要执行完整更新运行npm update,如果重新运行,npm outdated您将看到所有内容都是最新的,您的应用程序现在可能无法编译。我收到的错误消息不是很有帮助。要解决此问题,请检查所有导入语句是否仍然有效(我的其中一个在 app.module.ts 中被更改)

import { AppRoutingModule } from './app-routing.module';被改为import { AppRoutingModule } from './/app-routing.module';

希望这可以帮助