AngularJS:ng-show不适用于ng-app

angularJS: ng-show doesn't work with ng-app?

本文关键字:适用于 ng-app 不适用 ng-show AngularJS      更新时间:2023-09-26

为什么当我给ng-app命名并声明它时,我的ng-show不起作用?

https://jsfiddle.net/jzhang172/f7mrkf48/

$(function(){
var app = angular.module('myApp', []);
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp">
<form name="formMe">
1<input type="text"><br>
2<input type="text"><br>
Email<input name="email" ng-model="email" required>
<span ng-show="formMe.email.$touched">You touched me</span><br>
<input type="submit" ng-disabled="formMe.email.$invalid">
</form>
</div>

您需要

表单使用name属性,并在验证表单字段myApp使用该表单名称而不是模块名称。因此,在表单标记中使用 name 属性name="myForm",为了验证,请使用 myForm.email.$invalid

喜欢:

<form name="myForm">
    1<input type="text"><br>
    2<input type="text"><br>
    Email<input type="email" name="email" ng-model="email" required>
    <span ng-show="myForm.email.$touched">You touched me</span><br>
   <input type="submit" ng-disabled="myForm.email.$invalid">
</form>

您的代码片段有语法错误,修复错误后的确切代码片段正在工作。

var app = angular.module('myApp', []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp">
  <form name="formMe">
    1
    <input type="text">
    <br>2
    <input type="text">
    <br>Email
    <input name="email" ng-model="email" required>
    <span ng-show="formMe.email.$touched">You touched me</span>
    <br>
    <input type="submit" ng-disabled="formMe.email.$invalid">
  </form>
</div>