2017-07-19 36 views
0

在一個角度指令中,您可能需要form^AND ngModel?是否可以在鏈接功能中訪問窗體和控制器?Angular指令 - 要求ngModel AND表單^

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

是的,它可以通過在require屬性中提供一個數組來實現。使用這個,你將在鏈接函數中提供第四個參數的控制器數組。

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