I have the following code (see below) in whichI use ng-include. The ng-model="numLines" creates a binding of the value in the box and the function changeNumLines() specified in ng-change is called every time the value inside the input box changes. The value of the $scope.numLines inside the changeNumLines() is supposed to be the new changed value. However, it is not. The value that I output to the console is always "1" no matter what input is typed in the box.
However, if I do not use ng-include and just copy paste the partial html file: structCustomRows.htm into index.html instead of ng-include line everything works fine.
So, why is this happening with ng-include and how can I get around it? Thanks.
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
  <base href="/">
</head>
<script>
var app = angular.module('parserUI', []);
app.controller('CustomRowsCtrl', ['$scope', function($scope) {
    $scope.numLines = 1;
    $scope.changeNumLines = function() {
        console.log("DEBUG: changeNumLines()");
        console.log(String($scope.numLines));
    }
}]);
</script>
<body ng-app="parserUI">
    <h2>Header</h2>
    <div ng-controller="CustomRowsCtrl">
      <div ng-include src="'app/partials/structCustomRows.htm'"></div>
    </div>  <!-- ng-controller="CustomRowsCtrl" -->
</body>
</html>
structCustomRows.htm
<input type="text" ng-model="numLines" ng-change="changeNumLines()">
 
     
     
     
     
    