首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >离子3组分与页

离子3组分与页
EN

Stack Overflow用户
提问于 2017-07-24 11:14:32
回答 2查看 33.3K关注 0票数 66

你能告诉我ComponentPage生成器在Ionic 3应用程序中有什么区别吗?似乎我可以在组件ionViewWillLeave中使用页面生命周期挂钩(如too.So ),那么什么时候应该使用角度生命周期挂钩呢?如果是相同的,那为什么它有两个发电机?希望你能对此提供反馈。

组件生成器:

代码语言:javascript
运行
复制
 ionic generate component SubscribeTopicComponent

页生成器:

代码语言:javascript
运行
复制
ionic generate page LoginPage
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-24 14:07:16

根据评论中的对话:

从角度上看,这可能是一样的,但是页面和组件在Ionic中有不同的含义。就角度而言,都只是组件,但是在Ionic的上下文中,页面是一个组件,它将充当整个视图(可能有嵌套组件)的;我们将Ionic页面视为独立概念。一个组件将只是一个更大的组件的一部分,大部分时间在角度应用程序,所以我想这是最大的区别与页面。

在使用角的生命周期钩子时,我喜欢在嵌套组件中使用它们,但在处理页面时我更喜欢使用Ionic生命周期挂钩。主要是因为像ionViewWillEnter这样的东西在简单组件的上下文中没有太多的意义,而ngOnInit就是这样做的。尽管如此,我还在页面上使用了一些角度的生命周期挂钩,比如ngOnDestroy (我用它来删除页面上的所有订阅,当该页面将要被销毁时),但是正如您所说的,如果我们想使用Ionic的生命周期挂钩,ionViewWillUnload似乎是正确的方法。

我想,Ionic生命周期钩子的多数更多地与用户与整个页面交互的方式有关--(将进入页面,离开页面,可以进入页面,离开页面.)和角度生命周期钩子更多地与单个组件的生命周期的不同阶段相关(输入已经初始化,更改检测器已经检查该组件中是否有更改,.),正如您所看到的,该组件可能与用户交互没有直接关系,而且通常是用户不知道的东西。

我很肯定没有关于哪种方法更好的规则,但最重要的是一致性。我认为在页面组件中使用Ionic生命周期钩子是有意义的,并且在嵌套组件中使用角度生命周期钩子,但是您可以使用不同的方法,只要您在整个应用程序中一致地使用它。

票数 83
EN

Stack Overflow用户

发布于 2017-07-24 16:20:36

有两个独立的生成器,因为一个额外的装饰器被添加到离子:@IonicPage

与简单组件相比,这个装饰器提供了一些优势。

  1. 路由-您可以表示什么是页面的url,如何到达那里,以及它的默认历史记录。这样,您就可以直接访问任何页面,而无需通过导航路径。到此页的路由也可以使用字符串而不是实际组件来完成。
  2. 延迟加载-在默认情况下,具有此装饰符的页面的模块在转到页面的url时会被延迟加载。
  3. 不依赖应用程序模块-这是个人最喜欢的,但当你创建的模块是页面,你不需要添加到原来的ngModule,这是自动编译。

有关更多文档:https://ionicframework.com/docs/api/navigation/IonicPage/

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45279191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档