Below is a directive I use for dynamically loaded html with angular 
content. I haven't used this inside another directive, but it might get you 
going:

<div dynamic="html_with_angular_here"></div>


App.directive('dynamic', function ($compile) {
        return {
            restrict: 'A',
            replace: true,
            scope: { dynamic: '=dynamic'},
            link: function postLink(scope, element, attrs) {
                scope.$watch( 'dynamic' , function(html){
                    element.html(html);
                    $compile(element.contents())(scope);
                });
            }
        };
    });


On Sunday, January 4, 2015 1:16:41 AM UTC-5, Akshath Kumar wrote:
>
> Hi,
>
> Could any one please help me to sort out this issue.
>
>
>
> Thanks & Regards,
>
>  
>
> Akshath kumar M
>
> Mob : +919567102617
>
>  
>
>
>
> baabteâ„  System Technologies Pvt Ltd.
>
> An ISO 9001 : 2008 certified company
>
> Office: + 91495-2295550 | Mob : +919539906339
>
> www.baabte.com <http://www.baabte.com%20/> | www.baabtra.com | 
> www.massbaab.com <http://www.baabtra.com/>
>
> On Sat, Jan 3, 2015 at 11:26 AM, Akshath Kumar <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I Have one scenario where i am adding directives dynamically from another 
>> directive of an html element.The problem is that the dynamically loaded 
>> directive couldn't get compiled. 
>>
>> 1.my html element look like,
>>
>> <div class="form-control contentEditDiv" fg-custom-attributes 
>> fg-field-input="" fg-placeholder="field.schema.placeholder" 
>> ng-model="form.data[field.schema.name]" title="{{ field.schema.tooltip 
>> }}" tabindex="{{ tabIndex }}" 
>> ng-required="field.schema.validation.required" ng-minlength="{{ 
>> field.schema.validation.minlength }}" ng-maxlength="{{ 
>> field.schema.validation.maxlength }}" ng-pattern="{{ 
>> field.schema.validation.pattern }}"></div></div>');
>>
>> 2. directive code to add dynamic directives,
>>
>> fg.directive('fgCustomAttributes', function($compile) {
>>   /*
>>     This Directive which will add custom attributes at the time of 
>> rendering the template. 
>>     */
>>
>>     return { 
>>       scope:true,
>>       link: function($scope, $element, $attrs) {
>>         if($scope.form.schema.fields.length>0){
>>            for(var n=0;n<$scope.form.schema.fields.length;n++){
>>              if($scope.form.schema.fields[n].customlist!== undefined){
>>               optionsOfDirective= $scope.form.schema.fields[n].customlist;
>>               for (var i = 0; i < optionsOfDirective.length; i++) {
>>                 var text = optionsOfDirective[i].text;
>>                 var value = optionsOfDirective[i].value;
>>                 $element.attr(value, text); //adding directive 
>> dynamically from an object
>>                            /* here the dynamically added directive 
>> couldn't get compiled. */
>>           }
>>
>>         }
>>       }
>>     }
>>
>>       }
>>
>>     };
>>   });
>>
>> 3. At last the element look like,
>>
>> <div class="form-control contentEditDiv ng-scope ng-pristine ng-valid 
>> ng-valid-required" fg-custom-attributes="" fg-field-input="" 
>> fg-placeholder="field.schema.placeholder" ng-model="message" title="Content 
>> to be posted" tabindex="auto" 
>> ng-required="field.schema.validation.required" ng-minlength="" 
>> ng-maxlength="" ng-pattern="/" contenteditable="true" 
>> ng-class="{focused: hasFocus}" no-line-breaks="true" strip-br="false" 
>> select-non-editabl="true" id="contentEditDiv" placeholder="Content goes 
>> here"></div>
>>
>> here the yellow background text is indicating the newly added directives 
>> but which are no getting compiled.
>>
>> Please help me to sort out this issue..
>>
>>
>> Regards,
>>
>> Akshath
>>
>>  -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "AngularJS" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/angular/2fXeMtKbooM/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/angular.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to