2016-09-08 1 views
1

Ich habe diese Elemente hier:Kann nicht href Inhalt erhalten ng Sie auf

<a href="#item1" ng-click="myfunc('arg1', 'arg2')">Item1</a> 
<a href="#item2" ng-click="myfunc('arg1', 'arg2')">Item2</a> 

"myfunc" erwartet 2 eingehende Argumente. Nun brauche ich noch etwas anderes, was der Inhalt des href-Attributs ist.

ich eine der folgenden

scheint es in dieser Anwendung jedoch
1 - Add a new argument to the function 
2 - Add the event argument to read the content of href-attribute 

tun könnten viele andere Orte, an denen die Funktion „myfunc“ genannt wird, zu sein. Das bedeutet, ich müsste sie ändern, um die neue Argumentliste widerzuspiegeln.

Also was ich frage mich ist, wenn es irgendwie in der Steuerung ist, zu wissen, welches Attribut das href des aufrufenden Elements enthält. Ist das überhaupt möglich?

Antwort

1

Das Problem hier ist, dass Sie eine Service-Methode in einen Controller setzen. Verschieben Sie die Funktion myfunc in einen Dienst, und fügen Sie den href-Parameter hinzu. Dann rufen Sie von Ihrem Controller und anderen Orten diese Service-Methode.

In Ihrem Controller, den Sie dann die href über bekommen kann: get original element from ng-click

In anderen Anrufen von myfunc Sie die href aus einer anderen Quelle erhalten werden müssen.