1

<form name="myForm">...我写了这段代码,但是当我将我的应用程序放在标签内时它不起作用。我应该怎么做才能使它起作用!(只要我把它放在myForm里面ng-app就可以了,但我的应用程序应该在里面<form>

<form name="myForm">
    <div ng-app ng-init="myInput = 'ABC'">
        <input name="myInput" ng-model="myInput" required>
        <h1>{{myForm.myInput.$valid}}</h1>
    </div>
</form>

jsfiddle

4

2 回答 2

1

您可以使用 ngForm 指令(此处)在其中启用验证服务:

像这样:

<div ng-app="" ng-controller="validateCtrl" name="myForm" novalidate ng-form>
于 2016-12-10T10:32:17.173 回答
0

你有ng-app标签里面的form标签。所以这就是form标签 withmyForm没有被 Angular 编译并且myForm在 Angular 范围内不可用的原因。

您应该移动ng-app到最上面的父级,主要是html/body标记,以便确保由 angular & 编译的所有内容都将保留在 angular 上下文中。

<form ng-app name="myForm">
    <div  ng-init="myInput = 'ABC'">
        <input name="myInput" ng-model="myInput" required>
        <h1>{{myForm.myInput.$valid}}</h1>
    </div>
</form>

分叉的小提琴

创建没有模块的角度应用程序不是一个好主意。理想情况下,它应该有模块并在ng-app指令中提供该模块。我猜你正在学习这就是你在那里拥有它的原因。

于 2016-12-10T10:20:20.683 回答