Angular2:表单输入没有效的属性

时间:2016-08-06 10:02:26

标签: forms input angular scope

我有这个:

<form (ngSubmit)="Signup()" name="signup">
    <input type="text" autocomplete="off" placeholder="Username" required [(ngModel)]="name" name="name">
    <label>
        @{{ name.valid }}
    </label>
    <br>
    <input type="password" autocomplete="off" name="password" placeholder="Password" required>
    <br>
    <button type="submit">Submit</button>
</form>

P.S:我使用@因为我使用Laravel和刀片。 如果我使用@ {{name}}就行了!!

我无法查看范围名称是否有效,如果我设置name.valid或signup.name.valid我得到这些:

  

platform-b​​rowser.umd.js:1900 ORIGINAL EXCEPTION:TypeError:不能   阅读财产&#39; name&#39;未定义的

  

platform-b​​rowser.umd.js:1900 ORIGINAL EXCEPTION:TypeError:不能   阅读财产&#39;有效&#39;未定义的

在angular1上它是如此简单..现在更复杂..我在angular2网站上做得很好但仍然有错误..大声笑。

1 个答案:

答案 0 :(得分:0)

根据新表单API, ngModel 通过 ngForm 指令使用控件的状态,这在您的情况下是缺失的。< / p>

  

NgForm指令

     

什么是NgForm指令?我们没有添加NgForm指令!

     

Angular做了。 Angular创建并附加NgForm指令    自动标记。

     

NgForm指令补充了表单元素   特征。它包含我们为元素创建的控件   ngModel指令和name属性并监视其属性   包括其有效性。它也有自己的有效财产   仅当每个包含的控件有效时才为true。

.box

现在应该可以了。