【问题标题】:Why is (form.$error && form.$submitted) true on start?为什么 (form.$error && form.$submitted) 在开始时为真?
【发布时间】:2015-08-09 08:19:51
【问题描述】:

这是错误的视频http://youtu.be/siOfUluPraA 以下是我的代码。

看来 ng-show=true 一瞬间

signinForm.$submitted = true 一瞬间

登录.html

<ion-view>
  <ion-content ng-controller="SignInCtrl">
    <div class="login-logo">
        <div><h4>LOGIN TO YOUR ACCOUNT</h4></div>
    </div>

    <form name="signinForm" novalidate>
      <div class="list login">

        <!-- input username -->
        <label  class="item item-input item-top" 
            ng-class="{'form-has-error' : signinForm.username.$invalid && signinForm.username.$submitted}">
            <img src="./img/profile6.png" class= "image-thumb" alt="">
            <input  type="text" 
                    name="username" 
                    ng-model="user.username" 
                    ng-minlength="5"
                    required placeholder="Name or National Id">
        </label>
        <!-- validation username -->
        <div  class="form-errors"
              ng-show="signinForm.username.$error && signinForm.$submitted" 
              ng-messages="signinForm.username.$error" 
              ng-messages-include="templates/formerrors/form-errors-username.html">  
        </div>

      </div>
    </form>
  </ion-content>
</ion-view>

form-errors-username.html

<div class="form-error" ng-message="required">This field is required.</div>
<div class="form-error" ng-message="minlength">This field is must be at least 5 characters.</div>

config.js

app.config(function($stateProvider, $urlRouterProvider) {
 $stateProvider

 .state('signin', {
    url: '/sign-in',
    templateUrl: 'templates/login.html',
    controller: 'SignInCtrl'
 });
 $urlRouterProvider.otherwise('/sign-in');
});

最佳做法是什么? 提前致谢!

***** 更新 *****

我使用了 ng-if="signinForm.$submitted"

而不是 ng-show。

【问题讨论】:

    标签: ios angularjs forms ionic-framework cross-platform


    【解决方案1】:

    在加载应用程序时,浏览器会以原始(未编译)形式短暂显示您的 HTML 模板。

    你可以尝试使用ngCloack来避免闪烁效果。

    &lt;div ng-show="form.$submitted" ng-cloak&gt;

    【讨论】:

      【解决方案2】:

      这是我修复它的方法,我使用了

      ng-if="signinForm.$submitted"

      而不是 ng-show。

      【讨论】:

        猜你喜欢
        • 2017-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 2016-11-05
        相关资源
        最近更新 更多