Мой первый апп на angular. Я думаю, что так делать не стоит (массив с данными добавлять в основной апп файл), но все же:
Вопрос в том, можно ли редактировать "boardItems" (массив, заранее объявленный в app.js ) ? Так, что бы изменения отобразились в live preview, а сам массив получил новый итем?
app.js
(function() {
var app = angular.module('done', [ ]);
app.controller('BoardItemsController', function(){
this.boardItems = [
{
'title': "Title",
'body': "Body",
'date': 'date'
},
{
'title': "Title1",
'body': "Body1",
'date': 'date1'
},
];
});
app.controller('AddFormController', function(){
this.item = {};
this.addItem = function(board) { // Сюда передается доска для добавления
board.boardItems.push( this.item ); // записываю в доску итем из формы
};
});
})();
index.html
<!-- BoardItemsController-->
<section class="reminders" ng-controller='BoardItemsController as board'>
// Доска, в которую я кидаю итемы, ниже передаю ее в для добавления
<button class="add-btn" id="add-btn">
<span class="btn-cover" >
<!-- removed svg -->
</span>
</button>
<!-- Single item -->
<div class="item" ng-repeat='item in board.boardItems' >
<div class="done">
<button >
<!-- removed svg -->
</button>
</div>
<div class="item-title" >
{{ item.title }}
</div>
<div class="item-descrtiption">
{{ item.body }}
</div>
<div class="item-time">
{{ item.date }}
</div>
</div>
<!-- Form for Item addition -->
<form action="" id="add-form" ng-controller="AddFormController as addForm" ng-submit="addForm.addItem(board)"> // Добавляю созданный итем из контроллера формы в доску итемов
<label for="rem-topic">Topic:</label>
<input type="text" name="rem-topic" ng-model="addForm.item.title">
<label for="rem-body">Description:</label>
<textarea name="rem-body" id="" ng-model="addForm.item.body"></textarea>
<input type="submit" class="form-btn" value="Send">
</form>
</section>
Суть в том, что итем нормально читается, при взове alert(), как прямо из формы, так и по номеру того массива, в который я хочу его добавить . Но на страницу он не добавляется и в объявленном массиве его тоже нету. "this.boardItems"
P.S.
Если стоит делать через JSON - выделите это в своем ответе, пожалуйста.