여기에는 로그인 필드, 비밀번호, 사용자 이름 및 로그인 버튼이 있습니다. 보시다시피 매우 장황합니다.지시어를 덜 자세히 만드는 방법은 무엇입니까?
<form name='form' novalidate ng-submit="form.$valid && submit('/login')" ng-focus="showError=false" ng-controller='loginController' >
<h2>Login</h2>
<div class="form-group has-feedback" ng-class="{ 'has-error' : ((form.username.$touched || form.$submitted) && form.username.$invalid) || showError}">
<input ng-focus="showError=false" type="email" name="username" class="form-control" placeholder="Email" ng-model='data.username' ng-disabled="loading" required>
<span ng-show="((form.username.$touched || form.$submitted) && form.username.$invalid) || showError" class="glyphicon form-control-feedback glyphicon-remove"></span>
<p ng-show="(form.username.$touched || form.$submitted) && form.username.$invalid" class="help-block text-left">Enter a valid email</p>
</div>
<div class="form-group has-feedback" ng-class="{ 'has-error' : ((form.password.$touched || form.$submitted) && form.password.$invalid) || showError}">
<input ng-focus="showError=false" type="password" name="password" class="form-control" placeholder="Password" ng-model='data.password' ng-disabled="loading" required>
<span ng-show="((form.password.$touched || form.$submitted) && form.password.$invalid) || showError" class="glyphicon form-control-feedback glyphicon-remove"></span>
<p ng-show="(form.password.$touched || form.$submitted) && form.password.$invalid" class="help-block text-left">Enter a password</p>
</div>
<button type="submit" class="btn btn-primary btn-block" ng-disabled="loading">
Log in</button>
</form>
나는 반복 종류
((form.username.$touched || form.$submitted) && form.username.$invalid) || showError
이 예에서 코드의 양을 축소하세요 현명한 방법이 있나요 표현을 사용하고? 모범 사례가 있습니까?
각 양식 그룹의 기능을 래핑하는 지시문을 만들 수 있습니다. –
@KevinB ng-show는 이미 지시어이므로 어떻게해야합니까? – user1506145
@Yoshi ngMessages가 아닌 이유는 여러 가지 메시지가있을 때 유용합니다. 한 메시지 만 보여주고 싶습니다. – user1506145