Grab it with Bower:
bower install ng-ScrollSpy.js
Include it in your AngularJS application
var myApp = angular.module( 'myApp', [ 'ngScrollSpy' ] );
The following line is your navigation item element which will be given an `active` class when the specified ID is spied upon. It is element type unspecific. You can listen for multiple elements with pipe separation.
<span data-scrollspy-listen="myID">myID</span>
<span data-scrollspy-listen="myID|another">multiple</span>
This is the element you wish to spy on. Offset can be set specifically on elements as well.
<section id="myID" data-scrollspy-broadcast data-scrollspy-offset="100"></section>
See readme.md for more options available
NOTE: this AngularJS module is simply a scrollspy, anchor linking / smooth scrolling is another modules concern.