2016-11-02 5 views
0

Ich möchte eine Funktion aufzurufen, darunter eine der Umfang Variablen vorbei, aber ich bin immer die Fehlermeldung:Funktion vor dem Aufrufen der Vorlage in der Angular-Anweisung aufrufen?

ReferenceError: activityLog is not defined

Nur frage mich, ob das, was ich versuche, hier zu tun möglich ist? Meine Funktion wird als OK bezeichnet, aber ich möchte auch die Bereichsvariable übergeben können.

function (angular, jQuery, oModule) { 
    'use strict'; 

    oModule.directive('myDirective', function() { 
     return { 
      restrict: 'E', 
      scope: { 
       activityLog: '@', 
      }, 
      // Why can't I pass activityLog here? 
      // ReferenceError: activityLog is not defined 
      template: generateDetails(activityLog) 
     }; 
    }); 

    function generateDetails(oActivityLog) { 

    } 
+0

Sie können es nicht dort übergeben. Sie versuchen offensichtlich etwas zu tun, was in Angular anders gemacht werden sollte. Bitte erklären Sie, was Sie erreichen möchten. – estus

+0

@estus Die generateDetails-Funktion wird eine Menge JavaScript-Logik enthalten, basierend auf was auf dem activityLog, ich muss diese Logik ausführen, um den Inhalt der Vorlage zu generieren. – Rory

+0

Dieser Ansatz ist nicht korrekt. Zu dem Zeitpunkt, zu dem die Richtlinienvorlage erstellt wird, sind keine Bindungen verfügbar. Wenn Sie Probleme bei der Implementierung haben, erklären Sie bitte, was genau hier zu tun ist, damit die entsprechende Frage gestellt werden kann. – estus

Antwort

1

Sie sollten den activityLog Umfang in Link-Funktion erhalten. Vorlage ist für Sie HTML-Vorlage haben, wenn es ist.

function (angular, jQuery, oModule) { 
    'use strict'; 

    oModule.directive('myDirective', function() { 
     return { 
      restrict: 'E', 
      scope: { 
       activityLog: '@', 
      }, 
      link:function(scope, element, attr) { 
       generateDetails(scope.activityLog); 
      }, 
      template: '<div>123</div>' //html template here if needed 
     }; 
    }); 

    function generateDetails(oActivityLog) { 

    } 
} 
Verwandte Themen