Показать сообщение отдельно
  #1 (permalink)  
Старый 16.12.2015, 14:27
LCH LCH вне форума
Интересующийся
Отправить личное сообщение для LCH Посмотреть профиль Найти все сообщения от LCH
 
Регистрация: 31.07.2012
Сообщений: 13

Функция добавления в сервисе
Здравствуйте!

Учу Ангуляр и разрабатываю по ходу маленькое приложение.

Есть список элементов, они все в сервисе. так же в сервис хочу добавить функции по добавлению, удалению и т.д. элементов. А в контролере уже их просто вызывать. Удалять получается, а вот добавить нет, поэтому прошу помощи.

Код сервиса:
angular.module('items').factory('itemsFactory', function () {
    var items = {};
    items.list = [
        //список обьектов
    ];
    items.addItem = function(newItem) {
        items.list.push(newItem);
    }
   items.deleteItem = function(index){
            items.list.splice(index, 1);
    };
    return items;
});


Конроллер:
angular.module('main').controller('itemCtrl', function($scope, itemsFactory) {
$scope.items = itemsFactory.list;
$scope.deleteItem = function(index) {
        itemsFactory.deleteItem(index);
    };
$scope.addItem = function(index) {
        itemsFactory.addItem(index);
    };


HTML:
<form name="itemsForm" novalidate ng-controller="itemCtrl" ng-submit="addItem(newItem)">
<input ng-model="newItem.name" >
<input type="submit" value="+" >
</form>


Проблема в том, что после добавления поле инпута должно очищаться, чтобы можно было добавить еще элемент, но вот как не бьюсь - не могу это сделать Храню в отдельных файлах. Пробовал создавать переменную для newItem (обьект с пустыми параметрами), но вот после добавления, толи потому, что передаем аргумент в тело функции, то ли даже не знаю почему... никак не получается ее обнулить.
Ответить с цитированием