В Polymer вы декларативно добавляете обработчики событий, используя on-
+ имя события. Так что в вашем случае это будет on-click
, а не onclick
.
Кроме того, вам нужно будет указать имя метода, а не вызывать его. Таким образом, ваш тег будет выглядеть примерно так:
<a href="#" on-click="toggle_visibility">Click foo</a>
Поскольку это не передает параметр, вы можете найти другой путь, например, использовать атрибут data-
, или, возможно, если отношение к якору являетсяТо же самое каждый раз, просто полагайтесь на тот факт, что div является родительским узлом:
toggle_visibility: function(event) {
var e = event.currentTarget.parentNode;
if (e.style.display === "none") {
e.style.display = "block";
} else {
e.style.display = "none";
}
}
UPDATE : также обратите внимание, что если вы используете метод, который будет запрашивать элементчтобы переключить отображение для, вам, скорее всего, придется запрашивать shadowDom, а не уровень документа. Так что
var e = document.getElementById(id);
станет:
var e = this.shadowRoot.getElementById(id);