ng-bootstrap Angular2タイプスクリプトでタブを切り替えるときに以前のngbTabコンテンツを保持する方法

シャンデサイ

私が使用していますUI持っているngb-tabsetngb-tab、次をレンダリングするために:

ここに画像の説明を入力してください

ユーザーはフォームに上記の何かを入力し、Graph Navigation次のようにタブの下にグラフィカルな視覚化を取得します。

ここに画像の説明を入力してください

これで、ユーザーはSemantic Queryタブをクリックして、子コンポーネントから情報を取得できます。

ただし、ユーザーがGraph Navigationタブをクリックして戻ると、次のエラーが発生します。

 myDiagram is undefined

ここmyDiagramで、go.Diagramは親コンポーネントから情報を取得してダイアグラムをレンダリングするインスタンスです。(GoJS

コード

parent.component.html

<ngb-tabset>
    <ngb-tab title="Graph Navigation">
        <template ngbTabContent>
        <explore-search-details [config]="visData" [lang]="language"></explore-search-details>
        </template>
    </ngb-tab>
    <ngb-tab title="Semantic Query">
        <template ngbTabContent>
            <explore-search-semantic></explore-search-semantic>
        </template>
    </ngb-tab>

</ngb-tabset>
  • explore-search-detailsかかる子コンポーネントであるvisDatalanguage親コンポーネントからの入力変数としては。

  • explore-search-details.component.htmlにはdivレンダリングを処理する次のようなものがあります

      <div #myDiagramDiv></div>
    

バージョン

angular 2.4.0ng-bootstrap 1.0.0-alpha.21

編集

私のアドレス指定に誤りがあったmyDiagramあるgo.Diagram範囲内で使用される型の変数ngOnChanges()ngAfterViewInit()タブがスイッチバックされた後は不定行くのフックのライフサイクル。

ブライトンヴィーノ
<ngb-tabset [destroyOnHide]="false">

デフォルト値はtrue、タブを切り替えるたびにコンテンツをレンダリングする値です参照:https//ng-bootstrap.github.io/#/components/tabs/api

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ