2015-04-16 10 views
8

Kopiowanie do kodu źródłowego listy rdzeniowej, wygląda na to, że sprawdza atrybut elementu za pomocą kodu JavaScript, korzystając z atrybutu hidden. Ale ustawienie <div hidden="false"> powoduje ukrycie div. Czy mogę w jakiś sposób powiązać wyrażenie z tym atrybutem JavaScript lub czy muszę przesłać PR do głównej listy, aby wyraźnie dodać obsługę?Powiąż atrybut "ukryty" elementu listy głównej (Polymer 0,5)

Odpowiedz

5

Możesz ukryć/pokazać elementy polimerowe za pomocą ukrytego? atrybut.

<span hidden?="{{showSpan}}">This may or may not be hidden.</span> 

jeśli wyrażenie logiczne "showSpan" jest zgodne z prawdą, element zakresu jest wyświetlany, w przeciwnym razie zostanie pominięty.

Można przełączać stan showSpan tak:

<div on-click="{{showinput}}"> 
    <span hidden?="{{showSpan}}">This may or may not be hidden</span>  
</div> 



Polymer({ 

     showSpan: false, 

     showinput: function() { 
     this.showSpan = !this.showSpan; 
     } 
    }); 
+0

Ta odpowiedź jest poprawna, ale nie jestem pewien, czy to będzie działać dla elementów w podstawowej liście 0.8 i nowsze, ponieważ myślę, że usunęła zdolność przekazać zmienne do powiązania z wyrażeniem. To prawda, o co prosiłem, ale nie sądzę, że będzie działać długo. – Indolering

+0

@Indolering - zgodnie z dokumentami 0.8 [tutaj] (https://www.polymer-project.org/0.8/docs/devguide/data-binding.html) nadal będzie to możliwe. Osobiście wstrzymuję się od gry z 0.8, dopóki wszystkie podstawowe elementy nie zostaną przeniesione. – martin

+0

Nie jestem tego pewien, pokazują tylko atrybuty publiczne (nie takie jak '{{record in records}}') i [przewodnik migracji] (https://www.polymer-project.org/0.8/docs/ migration.html) stwierdza: "Brak obsługi wyrażenia. Wiązanie dotyczy tylko właściwości lub ścieżek." Ponadto odkryłem, że [ukrywanie przedmiotów w głównej liście jest złym pomysłem] (http://stackoverflow.com/questions/29596127/dynamic-search-filter-core-list-polymer-0-5/29601499 # 29601499). – Indolering

3

Jeśli chcesz, aby twój element nie był ukryty, powinieneś usunąć ukryty atrybut. hidden = "false" nie oznacza wiele w html.

Powiązane problemy