2016-12-15 7 views
2

У меня есть веб-компонент, который использует некоторые репитеры шаблонов. Я заметил, что, хотя элемент прикреплен к странице, он не отображается. Поскольку он не отображается, повторитель шаблона не обрабатывается.прилагается пожары, когда компонент находится на странице, но я не могу dom процесс, потому что он не отображается?

Есть ли какая-либо функция рендеринга или рисования, которая вызывается, когда компонент действительно нарисован?

Я выполнял некоторые запросы компонентов, которые были связаны с содержимым шаблона dom-repeatater. Он не находит классы, потому что он не удаляет информацию.

Как я могу использовать «on Render»?

Прямо сейчас я делаю что-то вроде:

@property List<Map> knownList = [{"name":"Bob"},{"name":"Jake"},{"name":"Larry"}]; 

attached(){ 
    toBinaryString(); 
} 

String toBinaryString(){ 
    String binaryString = ""; 
    document.getElementsByClassName("selected").forEach((HtmlElement ele){ 
    print("Fired"); 
    binaryString += "1"; 
    }); 
    print("Result diagnostics/ Length: ${binaryString.length} isValid: ${binaryString.length==(CONST_PER_DAY * 7)}"); 
    return binaryString; 
} 

мой Html что-то простое, как:

<dom-module id="my-test"> 
    <template> 
    <template is="dom-repeater" items="{{knownList}}"> 
     <div class="selected">{{item.name}}</div> 
    </template> 
    </template> 
</dom-module> 

и приложенный вызывается при загрузке страницы, так как этот элемент фактически прибавляется страницы, но из-за того, что он не отображается, я не могу выполнять какую-либо обработку, связанную с dom.

Есть ли что-то, что я делаю неправильно?

+0

Вы пробовали 'ready() {...}' вместо 'attach() {...}'? См. Также https://github.com/dart-lang/polymer-dart/wiki/registration-and-lifecycle –

+0

Я сделал это, и я заметил, что он стрелял после создания, но до этого прилагался. Кажется, что прилагаемый приходит позже в жизненном цикле, поэтому я думал, что приложенный может быть лучшим способом. Я просто не знаю, каковы разные коннотации Attached vs Ready, поскольку элементы все равно не будут отображаться при выполнении. – Fallenreaper

ответ

0

https://github.com/dart-lang/polymer-dart/wiki/registration-and-lifecycle#ready-callback-and-local-dom-initialization

Готовый обратный вызов вызывается, когда локальный DOM такого элемента является готов.

Он вызывается после того, как шаблон элемента был отпечатан, и все элементы внутри локальной DOM элемента были настроены (со значениями, привязанными к родителям, десериализованными атрибутами или значениями по умолчанию) и вызвали их метод готовности.

+1

странно. Тогда я сделаю второй взгляд на это. Там может быть какой-то извозчик, которого ни вы, ни я не знаю, что нужно будет решить. Я еще раз посмотрю, и посмотрим, что я могу сделать вокруг того, что можно использовать. Если я смогу заставить его работать, я сообщу вам конкретный код, как я это сделал, а затем даю вам точки и ответ. :) – Fallenreaper

+1

Вы должны найти свой ответ, используя асинхронный вызов в приложении, как описано в документации, с которой Gunter предоставил вам ссылку. –

 Смежные вопросы

  • Нет связанных вопросов^_^