2017-01-17 3 views
-1

Ich muss Append-Direktive Attributwert zu TemplateUrl abrufen. Ich habe mehrere Optionen ausprobiert, aber TemplateUrl unterstützt $observe nicht darin. Daher versuchte ich unten und versuchte "devicePath" Wert zu templateUrl zu erhalten. Nichts hat funktioniert. Hier ist mein Beispiel.AngularJs-Direktiven - müssen Attributwert in TemplateUrl erhalten

<me-direct device-path="{{contentUrl}}" tmp-url="{{appTemplateUrl}}"></me-direct> 

Richtlinie js Datei

angular.module('meDevices').directive('medirect',medirect); 

    function medirect(){ 
     return{ 
      scope:{ 
       devicePath:'@' 

      }, 
      restrict: 'E', 
      controller: 'directCtrl', 
      link: function(scope, element, attrs) { 
       // some ode 
       attrs.$observe('devicePath', function(value){ 
        console.log(value); 
        scope.url = value; 
        console.log(scope.url); 
       }); 


      }, 
      templateUrl: scope.url 
     } 
    } 

Wie auch immer, dies nicht funktioniert, da scope.url ist nicht erreichbar von templateUrl. Irgendwelche Gedanken ??

EDIT

Aber wenn ich Attribut, da dies alles funktioniert senden.

<me-direct device-path="some/common/url/to/view.html" tmp-url="{{appTemplateUrl}}"></me-direct> 
+0

was ist das 'templateUrl: scope.url'? –

+0

Ich habe versucht, scope.url Wert zu TemplateUrl zuweisen. – Mad

+0

Wo wird templateUrl verwendet? –

Antwort

0

Versuchen Sie, diese :::

angular.module('meDevices').directive('medirect',medirect); 

    function medirect(){ 
     return{ 
      restrict: 'E', 
      scope: { 
       base: '@baseUrl' 
      }, 
      templateUrl: function(element, attrs) { 
       return "http://example.com/"+attrs['device-path']+attrs['tmp-url']; 
      } 
     } 
    } 

Verwendung:

<me-direct device-path="{{contentUrl}}" tmp-url="{{appTemplateUrl}}"></me-direct> 
+0

Nein unterstützt. Es kam als "http://example.com/undefinedundefined" – Mad

+0

können Sie bitte überprüfen Sie diese Variable in der Benutzeroberfläche contentUrl und appTemplateUrl ... es sollte funktionieren ... –

+0

Was ist BaseUrl ?? – Mad

Verwandte Themen