私は riotjs ライブラリを使用しており、「comment-list」と「comment」という 2 つのタグがあります。
コメントリスト:
<comment-list>
<div each={com in comments} >
<comment level={opts.level} comment={com} type={opts.level == 0 ? "parent" : "child"} ctype={commentType}></comment>
</div>
<div show={opts.level == 0}>
<a id="load-trigger" onclick={fetchMore}>Moar comments</a>
</div>
var self = this;
self.commentType = (self.opts.level === 0 ? "parent" : "child");
</comment-list>
とコメント:
<comment>
... some html ...
<div class="row" if={opts.level == 0}>
<div class="col s11 offset-s1 m11 offset-m1 l11 offset-l1" style="padding-left: 0;">
<comment-list level={1} fetchMore={fetchMore}></comment-list>
</div>
</div>
</comment>
comment-list.tagは level = 0 で初期化されます。このレベル値を comment.tag に渡すことになっています。問題は、comment.tagのopts.levelにアクセスしようとすると、「未定義」になることです。ctypeについても同様です。typeは、 comment-list.tag の opts.levelが定義されていないかのように、常に「子」です。
Ps: コメント リストの 0 が null または '未定義' と見なされることが原因であるとは思わない。