Angular 4-> 6代码错误“没有将“ exportAs”设置为“ ngModel”的指令“

时间:2018-10-04 20:45:54

标签: angular angular6 angular-forms ngmodel

因此,我买了Mosh's Angular 4 course,却不知道它是Angular 4,而最新的是Angular 6。

是的,我听说4和6之间的编码差异很小,但请听我说。

在有关模板驱动表单的讲座之一中,他使用了以下代码:

<form>
  <div class="form-group">
      <label for="firstName">First Name</label>
      <input             <-- WE ARE LOOKING AT THIS ELEMENT
        ngModel
        name="firstName"
        id="firstName"
        type="text"
        class="form-control" />
  </div>
  <div class="form-group">
    <label for="comment">Comment</label>
    <textarea id="comment" cols="30" rows="10" class="form-control"></textarea>
  </div>
  <button class="btn btn-primary">Submit</button>
</form>

所以我在Angular中重复一遍,我安装了(后来我发现他正在使用4,而我已经安装了6),并且工作正常。

现在,他想通过将ngModel对象打印到控制台来显示ngModel的外观,因此他创建了一个变量并通过将log(msg) { console.log(msg); }添加到{{1 }}文件,现在上面提到的.ts看起来像这样:

<intput>

因此,他编译了该代码,它可以正常工作,控制台可以很好地记录<input ngModel name="firstName" #firstName="ngModel" <-- ADDED (change)="log(firstName)" <-- ADDED id="firstName" type="text" class="form-control" /> 。 因此,我编译了相同的代码,我得到了:

ngModel

因此,无可厚非,我用谷歌搜索了为什么会这样,然后我看到this question on stack并没有答案。我现在在这里,希望有人能告诉我“你可怜的灵魂,你有错字”之类的东西。

注意1 我希望引用我从莫什先生那里买来的讲座,以免违反任何法律。如果是这样,请注意我,我将删除此问题。另外,我真诚地推荐他的课程。 10/10。

注意2 请记住,我偶然发现的问题在我发布此问题时尚未得到回答。我的内容比较详细,所以我不会说它是重复的,但是也很高兴也能回答该问题。

QUSETION (如果现在尚不清楚):Uncaught Error: Template parse errors: There is no directive with "exportAs" set to "ngModel" (" ngModel name="firstName" [ERROR ->]#firstName="ngModel" (change)="log(firstName)" id="firstName" "): ng:///AppModule/ContactFormComponent.html@6:8 at syntaxError (compiler.js:1021) at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse (compiler.js:14830) at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate (compiler.js:24018) at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate (compiler.js:24005) at compiler.js:23948 at Set.forEach (<anonymous>) at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents (compiler.js:23948) at compiler.js:23858 at Object.then (compiler.js:1012) at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:23857) 是什么意思,我该如何解决? Angular 4和6之间的关键区别是什么导致A4中的代码在A6中无效?

我是新来的有角的顺便说一句。

0 个答案:

没有答案