私は静的なjsonファイルから取得するデータからブートストラップを作成しようとしていますコンポーネントinitでロードしています。タブの場合は、tabpanelのランダムidとtablistのhref属性を生成する必要があります。ランダムなID属性を生成してExpressionChangedAfterItHasBeenCheckedErrorを発生させます
私は結果WORKSとして取得するが、私は、コンソールでこのエラーを参照してください行います
ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'j5e0vxl5-lua'. Current value: 'j5e0vxlz-5xl'.
at viewDebugError (core.es5.js:8418)
at expressionChangedAfterItHasBeenCheckedError (core.es5.js:8396)
at checkBindingNoChanges (core.es5.js:8560)
at checkNoChangesNodeInline (core.es5.js:12421)
at checkNoChangesNode (core.es5.js:12395)
at debugCheckNoChangesNode (core.es5.js:13172)
at debugCheckRenderNodeFn (core.es5.js:13112)
at Object.eval [as updateRenderer] (WorkflowComponent.html:116)
at Object.debugUpdateRenderer [as updateRenderer] (core.es5.js:13094)
at checkNoChangesView (core.es5.js:12217)
WorkflowComponent.html
<div class="col-sm-12" [attr.random]="randomText(true)">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation">
<a [attr.href]="'#random-'+randomText()" [attr.aria-controls]="'random-'+randomText()" role="tab" data-toggle="tab">
<strong>Tab name</strong>
</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane" [attr.id]="'random-'+randomText()">
<div>
<p>Tab content</p>
</div>
</div>
</div>
</div>
workflow.components.ts randomText方法
randomText(generateRndmText = false) {
if (generateRndmText) {
this._rndmText = (Math.random() + (+new Date)).toString(36).replace('.', '-');
}
console.log('RANDOM: ' + this._rndmText);
return this._rndmText;
}
[Expression \ _ \ _ \ _の可能な複製がチェックされた後に変更されました](https://stackoverflow.com/questions/34364880/expression-has-changed-after-it-was-checked) – Alex
Donそうしないでください。角度のある文書を読みましたか? – yurzui
私はこのプロジェクトに飛びつき、私は読書と教育を並行してやっています。 私はこれについて間違っていると確信していますが、誰かがそれをクリアすることができれば、とても感謝しています。 少なくとも、私がそれについてもっと学ぶことができるドキュメントを教えてください。 – Vedran