2016-09-10 6 views
0

После компиляции и установки тега, который считывает свойство opts, переданное из его родительского элемента, когда обновленный переданный параметр обновлен, я не могу заставить ребенка, считывающего свойство, обновить.Скомпилированный и смонтированный тег, похоже, не обновляется

Чтобы увидеть демонстрацию проблемы запуска:

git clone https://github.com/shouston3/learn-riot.git && cd learn-riot/demo-problem 

npm i && npm start 

visit http://localhost:3333 

Когда вы увеличиваете счетчик, то Неоткомпилированная счетчик будет обновлять,

Но скомпилированные один обыкновение

Как я могу получить это обновить?

Заранее спасибо за помощь

ответ

2

Я упростил свой код при условии, что вы хотите, чтобы увеличить как родительский и дочерний тег. Я удалил var self = this, чем в этом случае не был нужен, и изменил это назначение self.opts.count = ++self.opts.count; на this.count = ++this.count

Проблема в том, что вы пытались присвоить данные выбранным, это не так, как это работает. Для того, чтобы передать данные детям просто передать Params в теге <count count={this.count}></count> (вероятно, лучше использовать разные имена для тегов и переменных)

Вот код

<demo> 
    <button onclick={increment}>increment</button> 

    <h1>Uncompiled count: {this.count}</h1> 

    <count count={this.count}></count> 

    this.count = 0; 

    increment() { 
     this.count = ++this.count; 
     console.log('count: ', this.count); 
     this.update(); 
    } 

    </demo> 

Вот пример https://jsfiddle.net/vitomd/mjqa2d5j/4/