forms - How to use dynamic input name inside of directive -
i'm trying implement directive implements a complex input type form. achieve this, ng-model (for binding value) , name (for registering form validating) have set accordingly. while ng-model works should, can't find way set name dynamically.
.directive('mydirective', function() { return { template: '<div class="morestuff"><input name="{{name}}" ng-model="ngmodel"></div>', restrict: 'e', replace: true, scope: { name: '=', ngmodel: '=' } };
when use inside form like
<form name="myform"> <input type="text" ng-model="value1" name="name1"> <my-directive name="name2" ng-model="value2"></my-directive> </form>
it results in 3 entries myform:
{ "name1": {}, "{{name}}": {}, "name2": {} }
so questions:
- how implement desired behaviour?
- why there entry my-directive element? shouldn't have been removed due replace: true?
yo, should use ng-attr-name
here updated version:
for template:
<div class="morestuff"> <input type="text" data-ng-attr-name="{{name}}" ng-model="ngmodel"/> {{name}} </div>
you try play "terminal" property of directive clear output of form.
e.g:
Comments
Post a Comment