制限するオプションが一般的に設定されています:Angular Jsのクラスでディレクティブを書くには?
「A」 - 唯一の一致が
「E」を属性名 - 唯一のクラス名と一致する
「M」の - - だけ一致しただけ
「C」要素名と一致コメント
'C' - 唯一のクラス名と一致したが、私はクラスAのディレクティブを作成し
Class="form-control **valid-vehicleyear** ng-not-empty ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched"
が動作していません要素と関連付けられます。値の変更に私はAPIを呼び出して、他の要素の値を変更したい。しかし、変化には変化は見られません。
controlDirective.js
function validVehicleyear($scope, $http) {
return {
restrict: 'C',
scope: {
ngModel: '=',
},
link: function (scope, element, attrs, ngModel) {
element.bind('change', function() {
console.log('here in validVehicleyear');
$http.get('api.php'+scope.ngModel)
.then(function (response) {
$scope.answers.VehicleMake = response.data;
});
});
}
}
}
車両年問題は、クラスの有効な-vehicleyearを持っています。私はここで逃しているか、答えの変更にこれに他の何かがあります。車両。 Vehicle yearの質問でクラスにvalidVehicleyearというディレクティブを書いた。これは年の変更を求めて、Vehicle makeの新しいオプションを設定したいが、うまくいかない。
plnkr.co/edit/BFGXr7LNAe0KvQipj9JJ?p=preview
私は周りの点検と内側/外側のディレクティブのコンセプトは、ここで働くことができることを見出しました。動的クラスをどのように適用するかは分かりません。
は非常に多くのquestiuonsは質問のすべてがCa.jsonである、があります。ここで私のプランナーで見ることができます、属性名私はフォーム要素を作成しました。ディレクティブの要素に新しい属性を追加することができません。私はclass = "*"で追加されるクラスを渡すことができます。だから私はここでクラスを使って物事を達成しています。 –
あなたのコードを試しましたが、変更はありませんでした。クラスをスキップすると、新しい動的属性を作成する方法を教えてください。各フォームの質問には固有の属性が必要です。特定の要素に対してのみ検証や変更イベントを適用できるようになりました。 –
関連するコントローラ、サービス、およびディレクティブを使用して、より簡略化した例を作成します。 私のポストのアプローチは良い習慣を奨励しています。あなたのフィドルであなたのために投稿されたアプリは大きすぎるので、あなたの問題を理解するのは難しいです。 (多くの要素が関与する可能性があります)。 –