私は非常に大きなフォームを持っていますが、これはHTMLの編集時に読みにくくなっています。私はAngularJSを最大限に活用しようとし、カスタム・ディレクティブを使用して繰り返しテキストの量を圧縮することに決めました。AngularJSのカスタムディレクティブへの入力を確認する
app.directive("formField", function() {
return {
restrict: 'E',
scope: {
fieldData: '=field',
fieldName: '=name',
fieldType: '=type'
},
template: <SOME HTML>
}
});
を、次のように私は私のページにフォームフィールドを追加するには、このディレクティブを使用します:ここで私が書いたオリジナルのディレクティブです
<form-field field="some_data" type="text" name="other_data"></form-field>
私はdateTimeの入力を区別するためにtype
変数を使用していたが、 (入力のtype
属性によって)1つのキーワードのみでコード内で区別されているので、テキスト入力、数字入力などが可能です。
しかし、今私はレイアウトのおかげでr異なったコードを適切に構成することができます。これに基づいて、 "checkbox"型がディレクティブに渡されると、私は別のテンプレート値を返したいと思います。
app.directive("formField", function() {
return {
restrict: 'E',
scope: {
fieldData: '=field',
fieldName: '=name',
fieldType: '=type'
},
template: function() {
if(fieldType == 'checkbox') {
return <CHECKBOX HTML>;
} else {
return <REGULAR FIELD HTML>;
}
}
});
これは機能しません。誰でも私がディレクティブの返されたオブジェクトでそれを比較できるように、型フィールドの値をチェックする方法を教えてもらえますか?ありがとう。