Обновленный вопрос. Я нажимаю данные в db, а затем в массиве, чтобы он отображался сразу, используя угловое двухстороннее связывание. Однако мои данные попадают в консоль. Но он не отображается в пользовательском интерфейсе.
контроллер
contacts.getall().then(function(response){
vm.people = response.data;
});
vm.toggleSidenav = function(){
$mdSidenav('left').open();
};
vm.saveit = function(info){
vm.people.push(vm.xyz);
contacts.add(vm.xyz);
console.log(vm.people);
Мой список
<md-list>
<md-list-item ng-repeat="person in vm.people | filter:vm.searchText | orderBy:'name'" ng-click="showDialog($event, person)">
<img alt="{{ person.name }}" ng-src="https://lh3.googleusercontent.com/-nR0PNFb3p4k/AAAAAAAAAAI/AAAAAAAAAAA/NVt2CqCrCis/photo.jpg" class="md-avatar" />
<p>{{ person.name }}</p>
<p class="phn">{{ person.phone }}</p>
<md-icon ng-click="vm.showConfirm($event, person)"aria-label="Open Chat" class="md-secondary md-hue-3" ng-class="">delete</md-icon>
</md-list-item>
</md-list>
Для консоли
vm.people.push(vm.xyz);
contacts.add(vm.xyz);
console.log(vm.people);
-------------------------------------------------- ------- Исправлено обновление ----------------------------------------- --------------
Al-right, поэтому существует очень простое правило Angular, когда вы хотите передать значение с одного контроллера на другой, лучший способ - использовать Factory, но поскольку в этом случае вы не используете второй контроллер, мы выиграли ' t использовать фабрику.
вы инициализировали var vm.people = [];
как массив.
но ниже здесь вы нажимаете OBJECT в пределах массива
vm.people.push({
name: vm.info.name,
phone: vm.info.phone,
email: vm.info.email
});
Что в этом случае неправильно, поэтому область не обновлялась.
то, что вы должны делать, это создать объект JSON и обновить свой файл $scope.showData
vm.people = { "name": vm.info.name, "phone": vm.info.phone, "email": vm.info.email};
Это приводит к обновлению текущей области и одновременному сохранению данных. фабрика хранения в плункере была предназначена только для тестирования, если вы хотите ее удалить. но если вам это нужно, вы знаете, как передавать и хранить данные на заводе, а затем извлекать их.
взгляните на обновление, зафиксированное Plunker
Анимированный GIF:
-------------------------------------------------- --------- Старый ответ --------------------------------------- ------------------- Эй, я сделал рабочий плункер из вашего собственного кода, массива vm.people
который вы определили сверху, а затем нажав данные в нем в vm.saveit
fucniton работают абсолютно нормально и, как и ожидалось, vm.people
имеет объект с тремя 3 свойствами, что, по-видимому, является проблемой?
[Object]
0
:
email: "[email protected]"
name: "waqas"
phone: "4245345343"
Рабочий файл plunker Form Данные не попадают в массив в angularjs