2017-04-02 11 views
0

私はいくつかのディレクティブを開発しました。ディレクティブの中には、名前付け属性に特定のパターンを使用しています。すべての属性の前に "fs-"が付いています。<div fs-attrtibute="value"></div>AngularディレクティブのRename require ngModel

ngModel属性にカスタム名を使用することはできますが、モデルコントローラの機能は引き続き使用できますか?あなたは「fsModel」という名前のディレクティブ上のコントローラを探し、あなたのリンク機能の「ngModel」引数にそれを提供するでしょう、ここの角にそれを提示してきたように例<div fs-model="value" fsDirective></div>

myApp.directive('fsDirective', function() { 
    return { 
     require: 'fsModel', 
     link: function($scope, element, attrs, ngModel) { 
        ngModel.$setViewValue('StackOverflow');   
      }; 
     } 
    }; 
}); 

答えて

0

ください。 ngModelをカスタム 'パススルー'ディレクティブでラップすることは可能かもしれませんが、それは非常に小さな利益のために複雑さをもたらすでしょう。

同様に、すべてのローカルディレクティブに '名前空間'を使用しますが、Angularの 'ng'スペースは明確で一貫性があるため、このままにしておきます。

関連する問題