Angular после добавления элемента массива контроллера, вью не отрисовывается

231
09 октября 2017, 01:44

При добавлении нового объекта в массив, модель не отрисовывается. Данные добавляются через модальное окно.

Не понимаю, вроде двусторонний байндинг должен был сработать и отрисовать, однако нет. Представления не имею - что это может быть?

HTML:

<section ng-controller="myController">
            <h1>Задания</h1>
            <nav>
                <ul class="tabs">
                    <li><a href="#">Новые</a></li>
                    <li><a href="#">В работе</a></li>
                    <li><a href="#">На рассмотрении</a></li>
                    <li><a href="#">Выполнены</a></li>
                    <li><a href="#">Отменены</a></li>
                    <li><a href="#">Черновики</a></li>
                    <hr>
                </ul>
            </nav>
            <button onClick="getElementById('win').removeAttribute('style');" class="button" type="button">Добавить</button>
            <div id="win" style="display:none;">
                <div id="win">
                    <div class="overlay"></div>
                    <div class="visible">
                        <h2>Добавить в таблицу</h2>
                        <div class="content">
                            <h4>Присвоить ID</h4>
                            <input class="form-control" ng-model="itemId" type="text" placeholder="ID">
                            <h4>Какой город</h4>
                            <input class="form-control" ng-model="city" type="text" placeholder="Название города">
                            <h4>Необходимая услуга</h4>
                            <input class="form-control" ng-model="name" type="text" placeholder="Наименование услуги">
                            <h4>Срок</h4>
                            <input class="form-control" ng-model="complete" type="text" placeholder="Срок выполнения">
                            <h4>Стоимость</h4>
                            <input class="form-control" ng-model="price" type="text" placeholder="Стоимость">
                        </div>
                        <button type="button" onClick="getElementById('win').style.display='none';">Отмена</button>
                         <button type="submit"  ng-click="createTask()">Добавить в таблицу</button>
                    </div>
                </div>

        </section>
        <section>
            <div class="wrapper">
                <input type="search" placeholder="Поиск по слову">
                <label><input type="checkbox"/>Персональное</label>
                <label><input type="checkbox"/>Ночное</label>
                <label><input type="checkbox"/>Срочное</label>
                <a href="#"> Никита Ласточкин</a>
            </div>
        </section>
        <section ng-controller="myController">
            <table>
                <thead>
                    <tr>
                        <td>ID</td>
                        <td>Город</td>
                        <td>Название</td>
                        <td>Выполнить до</td>
                        <td>Сумма</td>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="task in tasks">
                        <td ng-bind = "task.itemId"></td>
                        <td ng-bind = "task.city"></td>
                        <td ng-bind = "task.name"></td>
                        <td ng-bind = "task.complete"></td>
                        <td ng-bind = "task.price"></td>
                    </tr>
                </tbody>
            </table>
        </section>

JS:

var tableController = angular.module("App", []);
tableController.controller("myController", function ($scope) {
    console.log($scope);
$scope.tasks = [{
    itemId: 10256,
    city: "Самара",
    name: "Подключение провода от клеемной коробки пожарной сигнализации к расцепителю, проверить работоспособность",
    complete: "13 Августа",
    price: "10 201р"
    }, {
    itemId: 10256,
    city: "Самара",
    name: "Подключение провода от клеемной коробки пожарной сигнализации к расцепителю, проверить работоспособность",
    complete: "13 Августа",
    price: "10 201р"
    }
                 , {
    itemId: 10256,
    city: "Самара",
    name: "Подключение провода от клеемной коробки пожарной сигнализации к расцепителю, проверить работоспособность",
    complete: "13 Августа",
    price: "10 201р"
    }
]
    $scope.createTask = function () {
        $scope.tasks.push({itemId: $scope.itemId,
                           city: $scope.city,
                           name: $scope.name,
                           complete: $scope.complete,
                           price: $scope.price});
        console.log($scope.tasks);
    };
});
READ ALSO
не срабатывает blur с первого раза

не срабатывает blur с первого раза

в данном случае событие при потере фокуса не срабатывает с первого разаВ чем может быть проблема?

173
Есть ли модуль &ldquo;Новая Почта&rdquo; Modx? [требует правки]

Есть ли модуль “Новая Почта” Modx? [требует правки]

Всем привет, есть модуль "Новая Почта" для Modx ?

316
Переход по ссылке со своим значением

Переход по ссылке со своим значением

Добрый вечер профессионалыВот как мне сделать, что бы переходя по ссылке (допустим их здесь пять), ссылка присваивала своё значение для переменной...

191
Хелп! Не могу связаться с бд

Хелп! Не могу связаться с бд

Подскажите пожалуйста по какой причине не получается записать данные из массива в таблицу? Ошибок никаких не выдает, но запись не происходит,...

262