2016-04-16 10 views
0

Wenn ich die link: für eine benutzerdefinierte angularjs-Suchanweisung verwende, muss ich Parameter übergeben und $scope?Erfordert die Link-Funktion das Übergeben von Parametern?

Die Suchanweisung muss nur Autocomplete durchführen (mit AngularUI Typeahead) und Suchfunktionen. Ich habe bereits einen Controller, frage mich aber, ob eine Link-Funktion in der Direktive verwendet werden könnte, weil ich es vermeiden möchte, Attribute zu verwenden, um Parameter in der Elementrichtlinie zu übergeben.

Antwort

1

link: wird verwendet, um DOM-Listener zu registrieren oder das DOM zu aktualisieren. Es wird ausgeführt, nachdem die Vorlage geklont wurde. Hier wird die Direktivitätslogik geschrieben.

Link führt eine Funktion mit der folgenden Signatur:

function link(scope, element, attrs, controller, transcludeFn) { ... } 

Sie diese Parameter weglassen können, wenn Sie nicht brauchen. Wenn Sie jedoch einen benötigen, müssen Sie ihn an der entsprechenden Stelle platzieren, wie in der Syntax beschrieben.

Sie können mehr darüber lesen here.

0

Ich weiß nicht, warum Sie die Link-Funktion überhaupt benötigen würden, besonders wenn Sie bereits einen Controller verwenden. Können wir weitere Informationen darüber erhalten, welche Funktionalität zusätzlich zu der von UI-Bootstrap typeahead bereitgestellten Funktionalität hinzugefügt wird?

+0

@Christian, dies ist eher ein Kommentar über die Frage - keine Antwort - wie bereits in der Frage angegeben, nur Autocomplete und Suchfunktionen – user3125823

Verwandte Themen