基本的に、ディレクティブ内の式の変更をどのように聞くことができますか?ディレクティブ内の式を観察する
私は条件付きで特定のフィールドを必要とするために文書化されていないng-required
を使用しています:これは素晴らしい作品
<input type="checkbox" ng-model="partner" checked />
<input ng-model="partnerName" placeholder="required" ng-required="partner" />
(here's the Plunkr)。これの唯一の問題は、実際に必要かどうかにかかわらず、placeholder
の「必須」テキストを保持していることです。
私自身の指令を作成することにしました。ここではそれが動作するはず方法は次のとおりです。
<input ng-placeholder="{ 'required': partner }" />
アイデアは、角度のng-class
に似ていますが、私はこれを実現する方法方法がありません。ここで私はこれまで持っているものです:
placeholder
値を決定するために使用することができます素敵なオブジェクト記録します
app.directive('ngPlaceholder', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
console.log(scope.$eval(attrs.ngPlaceholder));
}
}
});
:
{ required: true }
のが、どのように私は、その後$digest
/$apply
サイクルにフックありませんpartner
が変更されるたびにplaceholder
属性を更新しますか?
1つの提案:将来のバージョンで同じ構文でng-placeholderを実装することがわかっている場合を除いて、ng-プレフィックスを使用しないでください。 –
ありがとう!それは本当だ。しかし、私は元のポストのコードを使用しています。 – maxisam