Angular1
<div ng-app="myApp" ng-controller="AppCtrl">
<ui-view>
<ui-view>
</div>
这里将在ui-view
中注入不同的观点
让我们说 home.html 会被注入,所以 homeCtrl 会进入图片。
当 homeCtrl 是孩子时,我可以认为 AppCtrl 是父。
此外,当 homeCtrl 被初始化时, AppCtrl 也被称为父/子场景一次。
因此,在整个应用程序中,我可以将 公共代码 放在 AppCtrl
Angular2
Boot.ts&lt; =====每次都不应该调用构造函数吗? [这只是我的想法]
| _____ Home.ts
| _____ Aboutus.ts
Boot.ts
export class BootCmp{
constructor(){
console.log('Should this run everytime??')
}
}
哪种方法可以放置常用代码?
sharedService?
还是有其他机制?
答案 0 :(得分:0)
您应用的根组件是&#34;构建&#34;一旦 - 引导应用程序时调用constructor()
。其余组件将根据您的应用逻辑创建和销毁,例如使用路由器或ngIf
。
不确定您的考虑因素&#34;常用代码&#34;但你可以考虑到这一点......
答案 1 :(得分:0)
我在你的问题中读到了什么,你的意见是两个问题: 一个是Compoment Communication,另一个是CommonCode-Initialsation。
如果您“忘记”@Input和@Output,可以使用服务进行父母与子女之间的沟通。
请参阅Angular 2食谱中的MissionControlExample,例如:
https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service
如果您不想使用共享服务,请使用EventEmitter作为示例 请参阅:Parent侦听子事件(与MissionControlExample相同的链接)
Angular 2的一个优点是支持HTLM5 webcomponent概念,因此.html是作为模板元素的组件的一部分。
要回答更具体的问题,请在您的问题中分享您的代码。