Итак, имея в виду исходную проблему, у меня есть Google Maps Javascript V3 Uncaught TypeError: Cannot read property 'offsetWidth' of null, и после многого поиска в Google я нашел решение, которое, как я думал, будет работоспособным, и это How to append multiple Google Maps areas to divs using Handlebars.контекст не определен JavaScript
Однако я реализовал мину следующим образом
var EmployeeView = function(employee){
this.render = function(){
$('body').append(this.el);
// inside the new div, put the Handlebars template, with the data from the employee
this.el.html(EmployeeView.template(employee)).ready(function() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
});
return this;
};
this.initialize = function(){
this.el=$("</div>");
window.localStorage.removeItem('paramId');
console.log('removed');
window.localStorage.setItem('paramId',employee);
console.log('added ' + employee.id);
};
this.initialize();
}
EmployeeView.template = Handlebars.compile($("#employee-tpl").html());
Не уверен, что если тот правильном пути «со ссылкой» к этому решению, но теперь, когда я бегу страница, следующая ошибка возникает Uncaught ReferenceError: context is not defined
У кого-нибудь есть идеи? и добавить мой HTML выглядит следующим образом
<body>
<script id="employee-tpl" type="text/x-handlebars-template">
<div class='details'>
<img class='employee-image' src='img/{{firstName}}_{{lastName}}.jpg' />
<ul>
<li><a href="#map/{{this.id}}">See on map</a></li>
<li>Share with friends</li>
<li><div id="map-canvas"/></li>
</ul>
<script src="lib/iscroll.js"></script>
<script src="lib/handlebars.js"></script>
<script src="lib/jquery-1.8.2.min.js"></script>
<script src="js/storage/cafe-memory-store.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?APIKEY&sensor=true"></script>
<script src="js/MapView.js"></script>
<script src="js/EmployeeView.js"></script>
<script src="js/HomeView.js"></script>
<script src="js/main.js"></script>
</body>
Это означает, что переменная 'context' не определена: также определена функция' HTMLtemplate (context) '? В противном случае это должно быть «EmployeeView.template» в этом месте, я думаю. – MarcoL
, но ссылаясь на http://stackoverflow.com/questions/10006898/how-to-append-multiple-google-maps-areas-to-divs-using-handlebars, это не похоже на то, что HTMLTemplate и 'context' являются дополнительными хотя? пожалуйста, исправьте меня :( – eddy
Я вижу их, определенные в фрагменте кода на странице. – MarcoL