2015-10-12 3 views
0

у меня есть что-то вроде этого:Polymer 1,0: Связывание классов CSS не обновляет

<dom-module id="bar-foo"> 
    <template> 
     <span class$="{{getState()}}">Bar Foo</span> 
    </template> 
    <script> 
    (function() { 
     class BarFoo { 
      beforeRegister() { 
       this.is = 'bar-foo'; 
       this.properties = { 
        data: { 
         type: Object, 
         notify: true, 
         observer: '_updateData' 
       }; 
      } 
      getState() { 
       if (this.data) { 
        return this.data.val > 0 ? 'positive' : 'negative'; 
       } 
      } 

     } 
     Polymer(BarFoo); 
    })(); 
    </script> 
</dom-module> 

Теперь функция getState вызывается только один раз, но data свойство обновляется каждый второй. Возможно ли обновить свойство класса $ при изменении data?

ответ

4

Если вы хотите, чтобы функция getState была оценена каждый раз, когда изменения data.val, вы можете передать ее в качестве аргумента функции.

<span class$="{{getState(data.val)}}">Bar Foo</span> 

Посмотрите на docs для получения дополнительной информации о вычисленных привязок.

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