2017-02-10 54 views
7

我們試圖將我們的Angular 2應用程序(由我們的一個朋友寫的,因此我們可能不知道所有細節)移動到Ionic 2中。但是,我們尚未設法使其工作,因此下面的問題。在Ionic 2應用程序中使用Angular 2路由器有意義嗎?

  1. 請問Angular 2路由器在Ionic 2中工作嗎?
  2. 在Ionic 2應用程序中使用Angular 2路由器是否有意義,或者我們應該直接找到替代方案,如DeepLinker

編輯:我不知道目前的狀態是什麼,但我讀here說:

«的角度路由器是目前大量的開發和重構。作爲其結果,角的路由器當前內離子禁用。»

  • 凡在代碼/元數據/構建腳本/ package.json是入口點,其激活路由器?我們在NgModule路由,但它似乎並沒有被踢成行動,當我們訪問應用程序的主網址或子網址:

    @NgModule({ 
        declarations: [ 
        AppComponent, 
        TestComponent, 
        AgendasListComponent, 
        TasksListComponent, 
        SnackBarComponent, 
        ConfirmationDialog, 
        AgendaComponent, 
        LoginComponent 
        ], 
        entryComponents: [ 
        ConfirmationDialog 
        ], 
        imports: [ 
        BrowserModule, 
        HttpModule, 
        MaterialModule.forRoot(), 
        AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig), 
        RouterModule.forRoot([ 
        { 
         path: '', 
         redirectTo: 'agendas', 
         pathMatch: 'full', 
         canActivate:[ RouterGuardService ] 
        },   
        { 
         path: 'agendas', 
         component: AgendasListComponent, 
         canActivate:[ RouterGuardService ]   
        } 
        ... 
    
  • +1

    Ionic在角度2上運行,因此代碼庫將兼容。如果您有關於離子的特定問題,請發佈一個可運行的代碼示例,以演示問題 –

    +1

    謝謝@codeninja。我知道它應該可以工作,但是由於它在[這裏]所說的內容,我有些懷疑(https://forum.ionicframework.com/t/examples-for-ionic-2-with-angular-2-router/45186/ 6)關於角向路由器在Ionic中被禁用:'Angular路由器目前正處於大量開發和重構階段。因此,Angular的路由器目前在Ionic中被禁用。「不知道它是否仍然如此。 –

    +0

    不確定,但是看着他們關於導航的文檔,似乎你像在iOS中那樣瀏覽導航堆棧。如果這不適合你可以選擇不使用離子,只使用科爾多瓦或類似的產品 –

    回答

    5

    而是採用了棱角分明2路由器推薦的是使用NavController & Co:https://ionicframework.com/docs/v2/api/navigation/NavController/

    Ionic 2也支持Deep Links into your application,因爲您已經注意到了自己。你可以在這裏閱讀官方博客文章:http://blog.ionic.io/deeplinking-in-ionic-apps/

    這是一個用於此https://github.com/driftyco/ionic-plugin-deeplinks的插件,它允許您創建自定義URL,如果這是您的要求之一,它將打開您的應用程序到特定視圖。

    14

    對於遲到的建議,我很抱歉。我一直在那裏,你也是。說實話,Ionic是一場噩夢。這是好的,直到...

    我們使用離子的原因是開發一次,並部署多次。網頁,手機/平板電腦和可能的Windows(Linux?)...

    但是,我們想要的應用程序,我們正在建設看起來可怕的網絡,就像一個擴大的移動應用程序。我試了一下,認爲我會調整一下。但是,我會留下完整的初始想法,不得不維護多個代碼庫。

    這個,在UI部分。但是隨後我發現隨着Ng2的到來和發展,Ionic也選擇了引入NavController,而不是等待(反應式)路由器......這就是事情變得麻煩的地方......所以,除了必須擔心兩個UI的代碼庫,我也不得不重寫它的路由器/ NavController衝突。

    同時,我的目光落在了Minks Gechev's Angular Seed上,併成功地將離子基與它混合。

    在對離子Github問題進行了沉默討論後,超過15人分享了我對NavController問題的擔憂。一位離子核心開發人員試圖讓我們沉默,告訴我們「這個問題很快就會解決」,我要求他「儘快定義」。他差點把我踢出去。

    與此同時,我只是與Nathan's Angular Advanced Seed糾纏在一起。 Nathan正在爲開源Nativescript(現在是獨立基礎本身)背後的驅動程序Telerik工作。

    起初,我對此持懷疑態度,因爲Telerik傾向於過度承諾。我試圖拍攝它,但它確實速度更快,而且不是混合型,而是原生的。

    我自己喜歡flexbox。所以,我會用它來搜索一個(web/windows)UI。爲什麼不是溫泉?

    所以,去Nathan的種子,並得到它的溫泉。這是前端。後端 - Keycloak和vert.x

    相關問題