2015-05-30 5 views
0

В моем индексном файле я использую два пользовательских полимерных элемента; геолокации и gis-сервиса. Цель первого заключается в том, чтобы получить текущее местоположение пользователя, затем широта и долгота подаются на gis-service. Части индексного файла:Полимер: обеспечить выполнение одного полимерного элемента перед другим

<geo-location watchpos></geo-location> 
<template is="auto-binding"> 
    <gis-service id="gservice" latitude="{{latitude}}" longitude="{{longitude}}">Use lat and long here</gis-service> 
</template> 

обновляют широты и долготы для Гиса-службы с помощью:

var t = document.querySelector('template'); 
var geolocation = document.querySelector('geo-location'); 
geolocation.addEventListener('geo-response', function(e) { 
      t.latitude = this.latitude.toFixed(6); 
      t.longitude = this.longitude.toFixed(6); 
}); 

Однако, когда широта и долгота передаются Гис-сервис это показывает, что они не определены. Я подозреваю, что gis-service вызывается/выполняется до того, как я назначу широту и долготу. Поэтому мой вопрос: как убедиться, что элемент геопозиции вызывается и (чтобы получить широту и долготу), прежде чем назначить их элементу gis-service?

ответ

0

Вы можете использовать conditional template, чтобы проверить, присутствует ли какое-либо значение.

Таким образом, было бы как:

<template if="{{latitude}}"> 
    <template if="{{longitude}}"> 
    <gis-service id="gservice" latitude="{{latitude}}" longitude="{{longitude}}">Use lat and long here</gis-service> 
    </template></template> 
Смежные вопросы