Я учусь использовать ngRoute для разделения моих HTML-форм на отдельные представления. Когда я добавляю данные в основной массив в index.html, массив обновляется корректно, но когда я пытаюсь использовать тот же подход в HTML-формах, которые добавляются через ng-представление, массив не отображается правильно. Я могу отладить и увидеть, что массив получает новое имя, добавленное, но он не будет отображаться в HTML.
Index.html
<h1> Names </h1>
<ul ng-repeat="name in names">
<li>{{name.fname}}</li>
</ul>
<h1>Add name in index.html</h1>
<input type="text" ng-model="name" />
<button ng-click="addName(name)">add name</button>
<ul>
<li><a href="#/first"> First</a></li>
<li><a href="#/second"> Second</a></li>
</ul>
<div class="container">
<div ng-view></div>
</div>
Apps.js
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(function ($routeProvider) {
$routeProvider
.when('/first', {
templateUrl: 'pages/first.html',
controller: 'mainController'
})
.when('/second', {
templateUrl: 'pages/second.html',
controller: 'mainController'
})
});
myApp.controller('mainController', ['$scope', '$log', function($scope, $log) {
$scope.names = [{fname:'john',lname:'doe'},{fname:'jane',lname:'doe'}];
$scope.addName = function(name){
$scope.names.push({fname:name,lname:'no last name'});
}
}]);
first и second.html идентичны
<h1>Add name in first.html</h1>
<input type="text" ng-model="name" />
<button ng-click="addName(name)">add name</button>
![enter image description here](https://i.stack.imgur.com/na1BQ.png)