Pass form to directive

前端 未结 5 2120
盖世英雄少女心
盖世英雄少女心 2020-11-30 19:35

I want to encapsulate my form fields in a directive so I can simply do this:

5条回答
  •  死守一世寂寞
    2020-11-30 20:01

    To access the FormController in a directive:

    require: '^form',
    

    Then it will be available as the 4th argument to your link function:

    link: function(scope, element, attrs, formCtrl) {
        console.log(formCtrl);
    }
    

    fiddle

    You may only need access to the NgModelController though:

    require: 'ngModel',
    link: function(scope, element, attrs, ngModelCtrl) {
         console.log(ngModelCtrl);
    }
    

    fiddle

    If you need access to both:

    require: ['^form','ngModel'],
    link: function(scope, element, attrs, ctrls) {
        console.log(ctrls);
    }
    

    fiddle

提交回复
热议问题