Angular2,组件的多个视图?

嗨,我有一个网页,有多个布局,我想切换到.与codepen.io相似.在angular2中执行此操作的最佳方法是什么?说我有4个布局.我可以放* ngIf =“layout1”并放置第一个布局然后* ngIf =“layout2”并放置第二个布局,依此类推.但这是最好的方式吗?请注意,更改布局时,html和css都会更改. 最佳答案 还有ngSwitch,当有多个或两个选项时很方便.

这样,您就拥有了一个组件中的所有内容我认为如果布局之间的切换很常见并且经常在一个用户会话中完成,那么这是一个很好的选择.

如果这主要是一次性决定(例如基于屏幕尺寸),则以下选项之一可能更适合.

您也可以使用DynamicComponentLoader.每个布局都打包在一个组件中,然后添加适合当前选择的组件.
另见http://www.syntaxsuccess.com/viewarticle/loading-components-dynamically-in-angular-2.0

另一种方法是使用路由器添加组件,具体取决于Url或Url参数.
另见https://angular.io/docs/ts/latest/guide/router.html

点赞