All we need is an easy explanation of the problem, so here it is.
In angular directives I’ve seen in tutorials either
Now I know that the ‘$’ means a service in angular , does this hold here ? What exactly is the difference between $scope and scope ? Same goes to element vs $element
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
In your specific example, it does not matter what the parameters are named in your link function. When Angular processes the directive, it will pass the scope, element and attrs (and even a controller instance if configured) to your link function.
You could do this (not recommended):
link: function (s, e, a)
and it will work fine.
$ is the prefix used by Angular. It is a convention and helps avoid naming collisions.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂