Edit in JSFiddle

  window.ScrollCtrl = function($scope, $element, $timeout) {
    var consoleDiv$ = $element.find('#console');
    $scope.console = '';

    $timeout(function interval() {
      $scope.scrollTop = $element.find("#scroller").scrollTop();
      consoleDiv$.scrollTop(consoleDiv$.prop('scrollHeight'));
      $timeout(interval, 50);
    },50);
  }

  angular.module('demo', [])
      .directive('monitor', function() {
        return function(scope, elem) {
          function logging(msg) {
            scope.console += msg + '<br>';
          }

          elem.on('touchstart', function(e) {
            logging('<span class="r">touchstart</span>');
            scope.startX = e.originalEvent.touches[0].clientX;
            scope.startY = e.originalEvent.touches[0].clientY;
          });

          elem.on('touchmove', function(e) {
            logging('touchmove');
            scope.moveX = e.originalEvent.changedTouches[0].clientX;
            scope.moveY = e.originalEvent.changedTouches[0].clientY;
          });

          elem.on('touchend', function(e) {
            logging('<span class="b">touchend</span>');
            scope.endX = e.originalEvent.changedTouches[0].clientX;
            scope.endY = e.originalEvent.changedTouches[0].clientY;
          });

          elem.on('scroll', function(e) {
            logging('scroll');
          });
        };
      });

  angular.element(document).ready(function() {
    angular.bootstrap(document, ['demo'])
  });
<div id="contents" ng-controller="ScrollCtrl">
  <div id="info">
    scrollTop: {{scrollTop}}<br>
    touchstart.x: {{startX}}px, touchstart.y: {{startY}} px<br>
    touchmove.x: {{moveX}}px, touchmove.y: {{moveY}} px<br>
    touchend.x: {{endX}}px, touchend.y: {{endY}} px<br>
  </div>
  <div id="console" ng-bind-html-unsafe="console"></div>
  <ul id="scroller" monitor>
    <li>List 01</li>
    <li>List 02</li>
    <li>List 03</li>
    <li>List 04</li>
    <li>List 05</li>
    <li>List 06</li>
    <li>List 07</li>
    <li>List 08</li>
    <li>List 09</li>
    <li>List 10</li>
    <li>List 11</li>
    <li>List 12</li>
    <li>List 13</li>
    <li>List 14</li>
    <li>List 15</li>
    <li>List 16</li>
    <li>List 17</li>
    <li>List 18</li>
    <li>List 19</li>
    <li>List 20</li>
    <li>List 21</li>
    <li>List 22</li>
    <li>List 23</li>
    <li>List 24</li>
    <li>List 25</li>
    <li>List 26</li>
    <li>List 27</li>
    <li>List 28</li>
    <li>List 29</li>
    <li>List 30</li>
    <li>List 31</li>
    <li>List 32</li>
    <li>List 33</li>
    <li>List 34</li>
    <li>List 35</li>
    <li>List 36</li>
    <li>List 37</li>
    <li>List 38</li>
    <li>List 39</li>
    <li>List 40</li>
    <li>List 41</li>
    <li>List 42</li>
    <li>List 43</li>
    <li>List 44</li>
    <li>List 45</li>
    <li>List 46</li>
    <li>List 47</li>
    <li>List 48</li>
    <li>List 49</li>
    <li>List 50</li>
    <li>List 51</li>
    <li>List 52</li>
    <li>List 53</li>
    <li>List 54</li>
    <li>List 55</li>
    <li>List 56</li>
    <li>List 57</li>
    <li>List 58</li>
    <li>List 59</li>
    <li>List 60</li>
    <li>List 61</li>
    <li>List 62</li>
    <li>List 63</li>
    <li>List 64</li>
    <li>List 65</li>
    <li>List 66</li>
    <li>List 67</li>
    <li>List 68</li>
    <li>List 69</li>
    <li>List 70</li>
    <li>List 71</li>
    <li>List 72</li>
    <li>List 73</li>
    <li>List 74</li>
    <li>List 75</li>
    <li>List 76</li>
    <li>List 77</li>
    <li>List 78</li>
    <li>List 79</li>
    <li>List 80</li>
    <li>List 81</li>
    <li>List 82</li>
    <li>List 83</li>
    <li>List 84</li>
    <li>List 85</li>
    <li>List 86</li>
    <li>List 87</li>
    <li>List 88</li>
    <li>List 89</li>
    <li>List 90</li>
    <li>List 91</li>
    <li>List 92</li>
    <li>List 93</li>
    <li>List 94</li>
    <li>List 95</li>
    <li>List 96</li>
    <li>List 97</li>
    <li>List 98</li>
    <li>List 99</li>
  </ul>
</div>
#contents {
  height: 100%;
  width: 95%;
  position: absolute;
  padding: 10px;
}

#info {
  text-align: center;
  border: 1px solid #000;
  width: 90%;
  margin: 0 auto 20px;
  font-size: 25px;
  font-weight: bold;
}

#console {
  overflow: auto;
  border: 1px solid #000;
  width: 150px;
  height: 80%;
  float: right;
  font-size: 18px;
  -webkit-overflow-scrolling: touch;
  padding-left: 5px;
}

#console .b {
  color: blue;
}

#console .r {
  color: red;
}

ul {
  height: 80%;
  width: 70%;
  overflow: auto;
  font-size: 18px;
  margin: 0 auto;
  -webkit-padding-start: 0;
  border: 1px solid #000;
  -webkit-user-select: none;
}

li {
  list-style: none;
  height: 50px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  line-height: 50px;
  padding: 10px 15px;
  font-size: 20px;
}

External resources loaded into this fiddle: