2016-08-05 1 views
1

うまくいけばわかるでしょう:) 私のアプリでは、Typescriptとangular-jと共にpage-router-outletを使用しています。現在、ターゲットページが完全に構築された後にルーティングが行われるため、アプリは応答しなくなります。 私のアプリでやってみたいことは、ページがビルド中にナビゲーションを開始し、コンテンツを初期化することです。 これを行う方法がベストプラクティスですか?ページルータとライブライブ

私はngInintからngAfterViewCheckedまでのいくつかのlivecylcehooksを試してみました。その間にいくつかのpagerouterが無視されたように見えます。

誰かがページを怠惰にする方法について考えていますか?

挨拶

トルステン

答えて

0

私は質問を理解し、100%確実ではないけど、あなたがNativescriptと角度ルータについて尋ねているようです。この場合、現在使用している<page-router-outlet>という2つの選択肢がありますが、これはすべてのページをページ単位で読み込み、最も遅い結果を作成しますが、サブコンポーネントをナビゲートできる<router-outlet>を使用するようにページを構成できます。

たとえば、変更する必要のないツールバーコンポーネントとフッターコンポーネントがある場合など、ルート変更を使用して本文を変更することを検討することがあります。これは、潜在的にはるかに少ない情報がロードされることを意味します私はこれがng2コンポーネントシステムのポイントのようなものだと思います。ここで

アクションでコンポーネントルータfoの一般的な例である:

import {Component} from '@angular/core'; 
import {nativeScriptBootstrap} from 'nativescript-angular/application'; 
import {ROUTER_DIRECTIVES, Router} from '@angular/router'; 
import {NS_ROUTER_DIRECTIVES} from 'nativescript-angular/router'; 

import {APP_ROUTER_PROVIDERS} from "./app.routes"; 

@Component({ 
    selector: 'navigation-test', 
    directives: [ROUTER_DIRECTIVES, NS_ROUTER_DIRECTIVES], 
    template: ` 
     <StackLayout> 
      <StackLayout class="nav"> 
       <Button text="First" 
        [nsRouterLink]="['/first']"></Button> 
       <Button text="Second" 
        [nsRouterLink]="['/second']"></Button> 
      </StackLayout> 

      <router-outlet></router-outlet> 
     </StackLayout> 
    ` 
}) 
export class NavigationApp { 
} 

nativeScriptBootstrap(NavigationApp, [APP_ROUTER_PROVIDERS]); 

enter image description here

+0

こんにちはジョージ、はい、ルータ出口は状況を少し改善するだろうが、それが動作していませんハードウェアのバックボタンをアンドロイドにすると、ページルーターのコンセントが正常に動作します。 – SjurWarEagle

+0

router-outletは角度の「ネスト」要素で、{N}ナビゲーションに登録されていません。計画があるかどうか、またはそのコンセントを{N}ナビゲーションスタックにマップすることさえ可能かどうかはわかりません。 私がrouter-outletを使用する方法は、ナビゲートするのではなく更新する必要があるコンテンツ用です。ナビゲーションのために、私はいつもページルータ出口を使います。 –

関連する問題