Я объединил элемент Polymer, который получает результаты через API голландского Rijksmuseum (вывод JSON), с элементом, который получает координаты конкретных мест. В произведениях искусства из музея иногда есть элемент под названием «productionPlaces», который может содержать несколько значений в списке.
В настоящее время на сайте показаны произведения искусства, некоторые их метаданные и места производства + координаты этих мест: http://plnkr.co/edit/nbTN1kNzcqHANWECB5fI?p=preview
Теперь я хочу иметь возможность только показывать места и координаты, если они существуют. По крайней мере, если «productionPlaces» пуст, он должен распечатать небольшой текст, например. «Место производства неизвестно». Это должна быть самовызывающаяся функция.
Поскольку у меня все еще возникают проблемы с получением функций для самовызова, я в настоящее время использую событие по щелчку для выполнения функции, которую я создал до сих пор. Я также использую окно оповещения, чтобы видеть, что я делаю.
Самый первый шаг в том, чтобы добраться туда, где мне нужно быть, — это заставить функцию фактически проверять значение всех элементов списка «productionPlaces» в каждом объекте.
Пока что моя текущая функция для этого выглядит следующим образом:
checkPlace: function() {
y = 1
x = 0
var place = this.object.artObjects[y].productionPlaces[x];
alert (place)
Окно предупреждения теперь показывает "Zuid-Holland", которое действительно является первым местом производства (x=0) второго объекта (y=1). Итак, функция работает.
Однако для достижения моей конечной цели (объясненной выше) функция должна автоматически распознавать значения «x» и «y» из результатов API. Я уже начал на "y". Но мне это не удалось, следующая конструкция «кнопка + функция» терпит неудачу, поскольку окно предупреждения больше не появляется:
<button on-click="{{checkPlace}}" objIndex="{{objIndex}}"></button>
checkPlace: function(s) {
var place = this.object.artObjects[s.getAttribute('objIndex')].productionPlaces[0];
alert (place)
Текущие шаблоны Template-Bind и Template-repeat должны позволить мне показать номер индекса каждого объекта через {{objIndex}}, похоже, это работает нормально. Итак, почему моя конструкция «кнопка + функция» не дает видимого результата в окне предупреждения?