ngModel コントローラーにアクセスしたい (後で setValidity を使用してカスタム入力フィールドを検証するため)。ただし、ディレクティブを (クラスではなく) 属性として使用したい場合、replaceWith 関数は、It can't find ngModel controller というエラーをスローします。ここでフィドルを作成しました:
jsfiddle.net/6HcGS/396
誰でも私を助けることができますか?
これは私の最初の質問に関連しています:
ngModel コントローラーにアクセスしたい (後で setValidity を使用してカスタム入力フィールドを検証するため)。ただし、ディレクティブを (クラスではなく) 属性として使用したい場合、replaceWith 関数は、It can't find ngModel controller というエラーをスローします。ここでフィドルを作成しました:
jsfiddle.net/6HcGS/396
誰でも私を助けることができますか?
これは私の最初の質問に関連しています:
<input zippy ng-model="title">
zippy と ngModel はどちらも、特定の順序でレンダリングされるディレクティブです。この場合、zippy は ngModel の前にレンダリングされます。Maxim Shoustin が提案したようにディレクティブを並べ替えるか、次priority
のようにディレクティブ作成関数に属性を指定してレンダリング順序を指定できます。
.directive('zippy', function($compile){
return {
restrict: 'A',
priority: -1,
replace: true,
...
デフォルトの優先度は 0 です。優先度の高いディレクティブが最初にレンダリングされます。
その代わり
<input zippy ng-model="title"/>
次のような後に属性を書き込んでみてくださいng-model
:
<input ng-model="title" zippy/>
ディレクティブのzippy
前にロードするのは興味深いです。ng-model
bekite が言うように、セットpriority: -1
デモFiddle