编译和挂载的标签似乎没有更新

时间:2016-09-10 11:24:25

标签: riot.js riotjs

编译并挂载一个标记,该标记读取从其父级传递下来的opts属性,当传递的更新选项更新时,我无法让孩子读取该属性进行更新。

要查看运行问题的演示:

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

npm i && npm start

visit http://localhost:3333

当您递增计数器时,未编译的计数器将更新,

但编译后的那个不会

如何更新?

提前感谢您的帮助

1 个答案:

答案 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>

这是一个例子 https://jsfiddle.net/vitomd/mjqa2d5j/4/