使用Angular 2路由器在Ionic 2应用程序中有意义吗?

Ann*_*a N 8 typescript ionic2 angular2-routing ng-modules angular

我们已经尝试将我们的Angular 2应用程序(由我们的朋友编写,因此我们可能不知道所有细节)移动到Ionic 2.然而,我们还没有设法让它工作,因此下面的问题.

  1. Angular 2路由器在Ionic 2中工作吗?
  2. 在Ionic 2应用程序中使用Angular 2路由器是否有意义,还是应该直接选择DeepLinker

编辑:我不确定目前的状态是什么,但我在这里读到:

«Angular路由器目前正在进行大量开发和重构.因此,Angular的路由器目前在Ionic中被禁用.»

  1. 代码/ metadata/build-script/package.json中的哪个位置是激活路由器的入口点?我们在NgModule中有路由,但是当我们访问应用程序的主URL或子URL时,它似乎没有动作:

    @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 ]           
        }
        ...
    
    Run Code Online (Sandbox Code Playgroud)

小智 14

对于已故的建议我很抱歉.我一直在那里你也是.说实话,Ionic是一场噩梦.虽然很好,直到......

我们使用Ionic的原因是开发一次,并多次部署.网络,手机/平板电脑和可能的Windows(Linux?)...

但仅仅是想到,我们正在构建的应用程序在网络上看起来很糟糕,就像一个放大的移动应用程序.我试了一下,以为我会调整一下.但是,我会留下最初的想法,不得不维护多个代码库.

这个,在UI部分.但随后我发现Ng2的到来和发展,Ionic也选择引入NavController,而不是等待(被动)路由器...而且这就是事情变得混乱......所以,除了不得不担心两个UI的代码库,我还必须为Router/NavController冲突重写它.

与此同时,我的目光落在了Minks Gechev的Angular Seed上,并成功地混合了Ionic的基础.

在对Ionic Github问题进行了沉默讨论之后,超过15人分享了我对NavController问题的担忧.其中一个离子核心开发人员试图让我们沉默,告诉我们"它将很快解决",我要求"尽快定义".他差点把我踢出去.

与此同时,我只是与Nathan的Angular Advanced Seed混合在一起.Nathan正在为Telerik工作,后者是开源Nativescript(现在是一个单独的基础)的驱动程序

起初,我持怀疑态度,因为Telerik倾向于过度承诺.我试图拍摄它,但它确实更快,它不是混合的,它是原生的.

我自己也喜欢flexbox.所以,我会使用它搜索(web/windows)UI.为什么不温泉?

所以,去内森的种子,并在其中获得温泉.这是前端.后端 - Keycloak和vert.x


Zol*_*mon 5

而不是使用Angular 2路由器,建议使用NavController&Co:https://ionicframework.com/docs/v2/api/navigation/NavController/ .

Ionic 2也支持Deep Links进入您的应用程序,正如您已经注意到的那样.你可以在这里阅读官方博客文章:http://blog.ionic.io/deeplinking-in-ionic-apps/.

这是https://github.com/driftyco/ionic-plugin-deeplinks的插件,它允许您创建自定义URL,如果这是您的要求之一,将打开您的应用程序到特定视图.