2017-11-14 9 views
0

ダーツ:1.24.2; 角度:4.0.0; .ng-valid.ng-invalidのクラスに基づいていくつかのCSSルールを作成しました。しかし、最後のリリースでは、ng-validng-invalidのクラスは公開されていないようですので、私のCSSルールはもう機能しません。 正しいですか? はいの場合、この変更をどのようにバイパスできますか?ng-validとng-invalidのクラスが角ダーツの形で公開されていません

Edit1:テストケース IDE(WebStorm)で角度と角度のある新しいプロジェクトを作成しました。それは単純なtodoアプリケーションを生成します。私はtodo_list_component.htmlをとり、<form></form>タグでコンテンツ全体をラップしました。 todo_list_component.dartでは、angular_formsのインポートを追加し、ディレクティブリストにformDirectivesを追加しました。 dartiumのフォームを検査しないでください。ng-validクラスが追加されました。非常にエレガントないショートカット が、作業:class="_ngcontent-umj-2"

EDIT2:唯一のクラス私の場合には、追加であり、私は彼らが露出されているかどうかわかりません

<form #form="ngForm" [class.ng-valid]="form.valid" [class.ng-invalid]="!form.valid"> 
+0

コードを共有したり、プランナーデモを作成すると便利です。高すぎる。 –

答えて

5

はい、この動作は最近のリリースangular_formsで変更されました。

以前は、NgControlStatusの指示がformDirectivesのリストに含まれていました。しかし、これによりフォームを使用していたすべてのコンポーネントがこれらのホストバインディングの価格を支払うことになりました。

ここで、この動作を実行するには、NgControlStatusdirectives@Componentのリストに明示的に含める必要があります。

https://github.com/dart-lang/angular/blob/master/angular_forms/lib/src/directives/ng_control_status.dart#L15

1

まず、「モデル駆動型」で作業し、コンポーネントで検証を設定することをお勧めします。私の意見では、UnitTestsのほうが処理しやすくなりました。

、ここで例:

はCSSを指定します(test.component.css)クラス:

.error { 
    border: 2px solid red;  
} 

コンポーネント(test.component.ts):

imports ...; 

@Component({ 
selector: 'test-component', 
templateUrl: 'test.component.html', 
styleUrls: ['./test.component.css'] 
}) 
export class TestComponent implements OnInit { 

form: FormGroup; 

constructor(private navCtrl: NavController, private auth: AuthService, private toast: ToastController, private fb: FormBuilder) { 

} 

ngOnInit() { 
    this.form = this.fb.group({ 
    email: ['', [ 
    Validators.required, 
    Validators.email]], 
    password: ['', [ 
    Validators.required, 
    Validators.minLength(6)]], 
}); 
} 

とテンプレート(test.component.html)は次のようになります。

<form [formGroup]="form" (ngSubmit)="login()" [ngClass]="{'error': !form.valid}"> 
    *** YOUR FORM DIV'S HERE *** 
</form> 

これもDartで動作しているのかどうかわかりません。しかし、Verenaがコメントしたように、コードをアップロードするとほとんどの人を助けることができます。

関連する問題