я есть полимер пользовательский элемент, как этотКак передать необходимые атрибуты для элемента конструктора
<script src="http://www.polymer-project.org/platform.js"></script>
<script src="http://www.polymer-project.org/polymer.js"></script>
<polymer-element name="my-foo" constructor="MyFoo" attributes="controller" noscript>
<template>
hello from {{options.name}}
</template>
<script>
Polymer({
get options() {
return this.controller.options;
}
});
</script>
</polymer>
<div id="container"></div>
<script>
document.addEventListener('polymer-ready',function() {
var foo = new MyFoo();
foo.controller = {
options : {
name : "here"
}
};
document.body.appendChild(foo);
});
</script>
атрибуте «контроллер», как ожидается, будет объект, имеющий свойство «варианты» от типа объекта.
Я могу создать экземпляр пользовательского элемента с помощью
var foo = new Foo();
, но я не смог установить атрибут «контроллер», который приводит к ошибке:
Uncaught TypeError: Cannot read property 'options' of undefined.
Конечно - я мог бы изменить параметры геттера в полимерном компоненте должны быть безотказными:
...
get options() {
return this.controller ? this.controller.options : null;
}
...
Но a В этом случае пользовательский элемент не распознает прикладные данные.
Заключительный вопрос: Как передать необходимые атрибуты в конструктор пользовательских элементов?
Как насчет 'foo.controller = options;'? – Sprottenwels
TypeError выплевывается конструктором элемента ... другими словами, ваша идея является любопытной, mpfffhh, naja ... – lgersman
Затем tu mir den Gefallen и создайте небольшую скрипку, чтобы воспроизвести проблему. – Sprottenwels