KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a list of <li> 's which gets populated with a find() using Meteor.startup as you see below. Then I'm getting all the data attributes of these <li> 's using data() and putting it in an object and trying to return/console.log it so I can see if it works. But I'm getting null as a result. Meteor.startup(function () { Template.messages.lists = function () { var allitems = lists.find(); return allitems; }; var map; map = new GMaps({ div: '#map_canvas', lat: -12.043333, lng: -77.028333 }); var lat = map.getCenter().lat(); var lng = map.getCenter().lng(); map.addMarker({ lat: lat, lng: lng, draggable: true, title: 'Test', dragend: function (e) { $('#lat').val(this.getPosition().lat()); $('#lng').val(this.getPosition().lng()); } }); console.log(getMarkers()); }); function getMarkers() { var coordinates = {}; coordinates = $('li.message').data(); return coordinates; } I tried the same in my console directly and it works - I get an object back - so I'm guessing that the DOM is not ready/populated before this function is executed. I am having a hard time understanding the difference between things like Meteor.startup and Template.mytemplate.rendered. In this case it seems that none of them works as I want? What's the right way/place to do stuff with the DOM (traversing,getting attributes,manipulating)? edit as the code changed a lot in order to do what I wanted I post the whole thing. Meteor.startup(function () { var map; map = new GMaps({ div: '#map_canvas', lat: 50.853642, lng: 4.357452 }); Meteor.subscribe('AllMessages', function() { var allitems = lists.find().fetch(); console.log(allitems); allitems.forEach(function(
Tags (comma-separated)
Save Edits
Cancel