Элемент My Polymer имеет атрибут массива размером от 1 до 10 000 элементов, поэтому мне нужно сгенерировать его при создании экземпляра элемента. Тем не менее, я бы действительно хотел бы передать в массив с помощью вызова функции или ссылка:Функция вызова функции Pass в качестве атрибута в Polymer?
<script>
function genArray(size){
var a = [];
for(var i = 0, count = size - 1; i < count; i++){
a.push("domain" + count + ".tld");
}
return a;
}
</script>
<my-element domains="genArray()"></my-element>
или ссылаться на глобальный объект.
<script>
function genArray(size){
var a = [];
for(var i = 0, count = size - 1; i < count; i++){
a.push("domain" + count + ".tld");
}
return a;
}
window.myArray = genArray(1000);
</script>
<my-element domains="window.myArray"></my-element>
Я пробовал вариацию цитаты стиль (""
против ''
) скобки ("{{genArray}}"
), и я даже '{"array":window.myArray}'
.
Я понимаю, что могу передать параметр или ссылку на глобальный объект и обработать их в обратном вызове жизненного цикла. Однако было бы намного чище и упростить тестирование/развертывание, если бы я мог передать вызов внешней функции. Я просто ввернута до тех пор, пока в ES7 не появятся шаблонные строки?
Вы уверены, что у вас есть синтаксис верный? Полимер больше не бросает предупреждения о невозможности синтаксического анализа в качестве массива, но теперь мой объект «доменов» просто не определен ... – Indolering
Другой вопрос, не связанный с беспорядком библиотеки Полимеров со статически построенными/вулканизированными полимерными элементами ? – Indolering
К сожалению, я не в среде, где я могу проверить этот синтаксис, но мне кажется, что привязки «dom-bind» будут искать свойства непосредственно в элементе 'dom-bind', а не' window' , Попробуйте присвоить 'template' идентификатор, а затем измените присваивание на' document.querySelector ('# my-id'). MyArray = genArray (1000); ' – Zikes