2015-10-09 2 views
0

Я следил за документацией по адресу https://www.polymer-project.org/0.5/docs/polymer/polymer.html#global и узнал о глобальных переменных, которые могут использоваться для всех экземпляров данного компонента. Я хотел бы сделать еще один шаг. Хотелось бы, чтобы глобальная переменная была реактивной. Значение, если его значение изменяется одним из экземпляров, должно распространяться через все остальные экземпляры.Как иметь реактивные глобальные переменные в полимере 1.0

<dom-module is="my-writer"> 
    <template> 
    <my-global user="{{username}}"></my-global> 
    <button on-click="changeName">Change</button> 
    </template> 
    <script> 
    Polymer({ 
    is: 'my-writer', 
    changeName: function() { this.username = 'abhilash'; } 
    }); 
    </script> 
</dom-module> 


<dom-module is="my-reader"> 
    <template> 
    <my-global user="{{username}}"></my-global> 
    <span>{{username}}</span> 
    </template> 
    <script> 
    Polymer({ 
    is: 'my-reader', 
    properties: { 
     username: { type: String, notify: true, value: 'goje' } 
    } 
    }); 
    </script> 
</dom-module> 

<my-writer></my-writer> 
<my-reader></my-reader> 

Этот код будет показывать button и span со значением как 'goje'. И когда я нажимаю кнопку, я хочу, чтобы span изменился, чтобы показать «abhilash».

ответ

0

В Polymer 1.0 вы можете достичь чего-то подобного с элементами iron-meta. Они содержат информацию, хранящуюся на всей веб-странице.

https://elements.polymer-project.org/elements/iron-meta

Это наполовину, недостающую часть на самом деле уведомление/обновление. Это действительно зависит от вашей реализации, которую я считаю.

Дальнейшие советы и различные реализации можно найти здесь: Polymer 1.0 Global Variables