Reputation: 141
I am using an angular calendar and have some events like this :
$scope.events = [
//{title: 'test event',start: moment()},
{title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d - 3, 16, 0),allDay: false},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d + 4, 16, 0),allDay: false},
{title: 'Birthday Party',start: new Date(y, m, d + 1, 19, 0),end: new Date(y, m, d + 1, 22, 30),allDay: false},
{title: 'Click for Google',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://google.com/'}
];
Is it possible to dynamically push into this so for example a button that could keep adding another event? i cant think of the syntax to push the object into array
Upvotes: 0
Views: 159
Reputation: 2060
The push
is as simple as 1-2-3. Please refer to the code snippet for pushing a new object into an existing AngularJS object below:
$scope.events.push(newData);
You can refer to the demo for full code.
Upvotes: 0
Reputation: 2702
We have .push() method in Array through it you can push elements to array.
Example:
$scope.events = [
//{title: 'test event',start: moment()},
{title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d - 3, 16, 0),allDay: false},
{id: 999,title: 'Repeating Event',start: new Date(y, m, d + 4, 16, 0),allDay: false},
{title: 'Birthday Party',start: new Date(y, m, d + 1, 19, 0),end: new Date(y, m, d + 1, 22, 30),allDay: false},
{title: 'Click for Google',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://google.com/'}
];
$scope.handleClick = function() {
$scope.events.push({title: 'Click for XYZ',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://someurl'});
}
Similarly to remove the elements from the array, we have pop() method provided.
Upvotes: 0
Reputation: 5482
Is this what you want :
$scope.events=[];
var event={title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)};
$scope.events.push(event);
Upvotes: 0