У меня есть следующий код для отображения списка сотрудников от mongolab, внутри unordered list
. Используя ng-repeat, он правильно перечисляет сотрудников. Теперь я добавил кнопку для добавления новых сотрудников. Он вставляет записи emploees - но не обновляет список в пользовательском интерфейсе. Я думаю, это потому, что я не использую ng-model. Мои вопросы: -Неупорядоченный список не обновляется после вставки данных
- Как это показать список сотрудников, даже если я не определил модель. Является ли ng-repeat созданием модели неявно?
- Каков правильный подход для добавления модели здесь, чтобы двусторонняя привязка данных работала?
КОД
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-resource.js"></script>
<script type="text/javascript">
//defining module
var app = angular.module('myApp', ['ngResource']);
//defining factory
app.factory('employees', function ($resource) {
return $resource('https://api.mlab.com/api/1/databases/humanresource/collections/Employees',
{apiKey: 'removedmykey'}
);
});
//defining controller
app.controller('myController', function ($scope, employees)
{
$scope.empList = employees.query();
$scope.AddUser = function()
{
alert("called");
var d = new Date();
var nameVal = "Emp-"+d.toString();
var newEmployee = {
name: nameVal
}
employees.save(newEmployee);
return true;
};
});
</script>
</head>
<body ng-app="myApp">
<div ng-controller="myController">
<ul>
<li ng-repeat = "objEmployee in empList" ng-class-even="'light-gray'" ng-class-odd = "'dark-gray'" >
{{objEmployee.name}}
</li>
</ul>
<input type="submit" value= "AddUser" ng-click="AddUser()" />
</div>
</body>
</html>