2017-07-19 10 views
0

角度指令には、形式^ AND ngModelが必要ですか?リンク機能内でフォームとコントローラーにアクセスできますか?角度指令 - ngModelと形式が必要です^

angular.module('myApp') 
.directive('passwordValidation', passwordValidation) 
function passwordValidation(){ 
    return { 
    replace: true, 
    require: 'ngModel', // also 'form^' ? 
    scope: { 
     userName: '@' 
    }, 
    link: function(scope, elem, attr, ctrl, form) { 
    ... 

答えて

1

はい必須プロパティに配列を指定することで可能です。これを使用すると、リンク関数の第4引数としてコントローラの配列が提供されます。

angular.module('myApp') 
.directive('passwordValidation', passwordValidation) 
function passwordValidation(){ 
    return { 
    replace: true, 
    require: ['ngModel','^form'], // also 'form^' ? 
    scope: { 
     userName: '@' 
    }, 
    link: function(scope, elem, attr, controllers) { 
     var ngModelCtrl = controllers[0],formCtrl = controllers[1]; 
    } 
    }} 
+0

私は実際にそれを試みましたが、間違って「フォーム^」がありました。ありがとう! – neridaj