AngularJS form $ addControl Register control
Requirement Background: when using a component ctictive written in form, you want to use form's name to operate the control in form, such as ng-disabled btn using $ invalid.
Solution: You can use form's name. xxx. $ invalid to register the control in the form by using form. $ addControl.
Specific Method:
tw.directive('nameForForm', function() { return { restrict: 'A', require: ?ngModel, link: function($scope, elem, attrs, ngModelCtrl) { var formController = elem.controller('form') || { $addControl: angular.noop }; ngModelCtrl.$name = attrs.workflowNameForForm; formController.$addControl(ngModelCtrl); $scope.$on('$destroy', function() { formController.$removeControl(ngModelCtrl); }); return true; } }; });
Usage: component:
...
Note: Add nameForForm to component and add nameForForm: '@' to scope :'@'
The page uses component: