编译并挂载一个标记,该标记读取从其父级传递下来的opts属性,当传递的更新选项更新时,我无法让孩子读取该属性进行更新。
要查看运行问题的演示:
git clone https://github.com/shouston3/learn-riot.git && cd learn-riot/demo-problem
npm i && npm start
visit http://localhost:3333
当您递增计数器时,未编译的计数器将更新,
但编译后的那个不会
如何更新?
提前感谢您的帮助
答案 0 :(得分:2)
我简化了您的代码,假设您想要增加父标记和子标记。我删除了var self = this,而不是在这种情况下不需要,并将此分配self.opts.count = ++self.opts.count;
更改为this.count = ++this.count
问题是您尝试将数据分配给opts,而不是它的工作方式。要将数据传递给子项,您只需传递标记<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>