2015-06-17 19 views
5

Czy istnieje sposób na ustawienie powiązań w sposób bezwzględny. Przykład użycia:Wiążące imperatywnie

var el2 = new MyElement(); 
el2.myProp = this.$.anotherElement.anotherProp 

To nie ustanowi wiązania, tylko przypisze wartość lub obiekt. Chciałbym znaleźć sposób na zrobienie czegoś takiego:

el2.myProp.bindTo(this.$.anotherElement.anotherProp) 

Możliwe?

Odpowiedz

6

Polimer 1,0 nie obsługuje tego w tej chwili - jak wyjaśniono przez @kevinpschaaf w Github https://github.com/Polymer/polymer/issues/1778.

(komentarz @kevinpschaaf)

Nie, w tej chwili nie obsługują tego, poza DOM-wiążą, którym jest realizacja tylko szablon, który późnym wiąże instancji dzieci. Użytkownik może uzyskać document.createElement ("szablon", "dom-bind"), a następnie można dynamicznie dołączać dzieci z powiązanymi adnotacjami do ich treści, , a powiązania będą oceniane dopiero po dołączeniu powiązania domeny do dokument. Zobacz testy tutaj, że pokazują to wykorzystanie go: https://github.com/Polymer/polymer/blob/master/test/unit/dom-bind.html#L95

pamiętać, że dom-wiążą nie pozwala obecnie wiązanie z zakresu zewnętrznej, tak to ograniczone zastosowanie w szablonach niestandardowych elementów (to jest główny przypadek użycia jest do wiązania pomiędzy elementy w dokumencie głównym), a to nie zmieni się na krótko.

Jesteśmy osiągnięcie dużo optymalizacji wydajności przy pieczeniu wiążących połączeń do prototypu w czasie rejestracji do elementu (raczej niż w momencie instancji), a my nie stworzyliśmy wystarczająco dla maszyny, która łatwo zezwól na dodawanie/usuwanie powiązań w czasie wykonywania.

+0

Dzięki - to niefortunne. Mam nadzieję, że to się zmieni. – max

+0

@max Bardzo lubię "optymalizację wydajności" - istnieją inne biblioteki, które robią to, co chcesz, ale cierpią pod względem wydajności. To zawsze kompromis - bądź ostrożny, czego chcesz. –