私はriotjsライブラリを使用しており、2つのタグ "comment-list"と "comment"を持っています。Riotjsネストされたタグのオプションは定義されていません
コメントリスト:
<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>
コメント-list.tagは、コメントに、このレベルの値を渡すことになっている= 0のレベルで初期化されます.tag。問題は、opts.levelcomment.tagにアクセスしようとすると「未定義」になります。 ctypeも同じです。 タイプは、のopts.levelがcomment-list.tagが定義されていないかのように、常に「子」です。
Ps:値1の場合と同じ動作をするため、comment-listの値がnullまたは 'undefined'とみなされているとは思わない 値をそのまま渡すのは間違っていますかoptsオブジェクトから?
私はあなたが達成しようとしていることを正確には知らないが、いくつかのヒント。 タグを正しくマウントします。この場合、いくつかの初期値を追加しました。 'riot.mount( 'comment-list'、{レベル:0、コメント:[{レベル:0}、{レベル:1}}})' あなたの最初のそれぞれで、optsの親から、または反復している子から、そのレベルにアクセスしようとしていますか?それぞれの内部では、子コンテキストにあるので、親が必要な場合は、parent.opts.levelを実行する必要があります。ここに、簡略化した例がありますhttp://plnkr.co/edit/7znf8HJh1wnpX9bjrxIX?p=preview – vitomd