2016-05-15 14 views
0

Ich muss einen optionalen Parameter für eine Richtlinie bereitstellen, die verwendet werden kann, um die Vorlage der Richtlinie zu umgeben. Dies ist ein einfaches Beispiel dafür, was ich habe:Angular: Einbetten einer Richtlinie Vorlage in einem seiner Parameter Markup

<dropdown-field 
     markup="<div class='thisIsTheSurroundingMarkup'></div>" 
    ></dropdown-field> 

oder dies:

Inside the controller: 
    $scope.thisIsTheSurroundingMarkupFromTheController = "<div class='thisIsTheSurroundingMarkup'></div>"; 

    <dropdown-field> 
     {{ thisIsTheSurroundingMarkupFromTheController }} 
    </dropdown-field> 

Beides würde/sollte erzeugt das folgende Ergebnis:

angular 
    .module('test') 
     .directive('dropdownField', dropDownFn); 

    function dropDownDirective Fn(termParameters, restService) { 
     return { 
      scope: { 
       'markup' : "=?" 
      }, 
      bindToController: true, 
      controllerAs: "vm", 

      templateUrl: "dropdown.tpl.html", 
      controller: function ($scope, $element, $attrs) { ... } 
     } 
    } 

HTML könnte wie folgt aussehen

<div class='thisIsTheSurroundingMarkup'> 
     <select ...>...</select> <-- this comes from dropdown.tpl.html 
    </div> 

Ich denke, das ist eines mit ngTransclude aber ich bin mir nicht sicher wie. Kann mir jemand in die richtige Richtung zeigen? Danke vielmals!

Antwort

0

Konnte dies alleine beheben.

 compile: function compile(tElement, tAttrs) { 
      tElement.wrap(tAttrs.markup); 
     }, 
Verwandte Themen