When adding a new object to the array, the model is not drawn. Data is added through a modal window.

I do not understand, like bilateral buying should work and render, but no. I have no idea - what could it be? enter image description here

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); }; }); 
  • It looks fine and should work. Maybe they are added, but not displayed, for example because of the styles. Look in the Elements tab, are there any elements? - Stepan Kasyanenko

1 answer 1

The problem is that you use the myController controller myController for different HTML elements. Accordingly, you now have two instances of myController , which are not related to each other.

Here is a working example of your code.

 var tableController = angular.module("App", []); tableController.controller("myController", function($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); }; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="App"> <div ng-controller="myController"> <section> <h1>Задания</h1> <button onClick="getElementById('win').removeAttribute('style');" class="button" type="button">Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ</button> <div id="win" style="display:none;"> <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> <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> </div> </div>