Я пытаюсь получить доступ к методам Javascript, содержащимся в пользовательском элементе Polymer, <general-element>
. Этот элемент содержит функции для открытия и закрытия панели.Доступ к методам JavaScript внутри встроенных пользовательских элементов Polymer
Этот общий элемент используется в более конкретном элементе, например: <specific-element></specific-element>
. Конкретный элемент содержит общий элемент и добавляет ему атрибуты, т. Е. Заголовок панели и т. Д.
Однако при использовании <specific-element>
в пределах страницы я не могу вызвать какие-либо методы открытия/закрытия из нее. Я приближаюсь к этому неправильно, и есть ли способ сделать это?
Edit: Примеры кода
Удалили некоторые Polymer код - примеры, чтобы показать, как элементы работают вместе
Общие Элемент:
<dom-module id="general-element">
<template>
// Code to define a slide-in panel
</template>
<script>
_openPanel: function() {
//Apply class to make panel visible
},
_closePanel: function() {
// Apply class to hide panel
}
</script>
</dom-module>
Конкретная Элемент:
<dom-module id="specific-element">
<template>
<general-element title="Administration Panel" >
<h1>Hello</h1>
</general-element>
</template>
</dom-module>
Использование :
<dom-module id="admin-page">
<template>
<button on-click="openPanel"></button>
<specific-element></specific-element>
</template>
<script>
openPanel: function() {
// Trying to call general-element _openPanel method
}
</script>
</dom-module>
То, что я пытаюсь сделать здесь называют поведение openPanel, как уже описано в общем-элемент. Это связано с тем, что панель будет использоваться в нескольких местах, поэтому не имеет смысла продолжать внедрять методы open/close для конкретных панелей, поскольку они будут работать одинаково.
Некоторые фактический код будет приятно, что показывает, как связаны элементы. –
@ GünterZöchbauer Добавили примеры кода – Vanita