Angular 2根组件中的ng-content
ng-content in root Angular 2 component
页面显示基本标记、安慰信息和加载指示。
<html>
...
<body app>
...page layout and loading stuff...
</body>
</html>
根分量
@Component({
selector: 'body[app]',
template: `<ng-content></ng-content>`
})
App {}
显示问题的活塞在这里。
在SPA初始化后,应该引导body
元素并编译组件,同时保存现有的基本布局。
但是根组件忽略了ng-content
。
这导致两个选项。初始布局应该被转储,并仅在启动后显示。或者它应该在根组件模板和HTML文档中复制(可能使用服务器端模板)。他们都不够好看。
body
包含敏感标记,不能直接包装到子组件中以克服此限制。我打算用Angular Universal为SPA提供简洁的静态预览,但不是在这个阶段。
这似乎是一个已知的问题,但我找不到一个可行的解决方案。
如何修复?
下面的链接状态为fixed by ivy
。Ivy是angular v7.0的一个里程碑。
Transcludes不支持在根元素上,你不能传递任何东西给它,因为index.html不是angular的一部分。如果你不能将html嵌入到另一个组件中,那么我也不希望它与ng-content
一起工作。
# issuecomment - 207993202
组件只有在模板中被引用时才能作为组件工作另一个组件,但是它们被期望在此之外使用这会引起混淆
计划在根组件中使用<ng-content>
。
相关文章:
- React重新渲染但未显示正确的组件
- 不能从angular2中的子组件指定父组件中的数组
- ng映射方向备选方案
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- AngularJS UI路由器不能像ng路由器那样工作
- Angular2中列表组件的自定义模板(不包含ng内容的transclusion)
- ng-include is not including content.html
- 组件类型角度指令 ng 模板
- 找不到 react 组件 LoginComponent - ng-React
- Ng-Sweet-Alert-2中的角度材料组件
- 如何在 emberjs 2.1 中隐藏像 ng-hide 这样的组件
- Angular2组件中的bootstrap-select data-content属性不会渲染
- 从组件中的控制器访问html中的ng-model
- Angular 2的ng-bootstrap Modal:如何将数据传递给入口组件
- Ng-bind-html不显示表单组件,如文本框,按钮
- Angular 1.5组件元素上的ng-class
- Angular 2根组件中的ng-content
- Angular 1.5组件…ng-link问题
- AngularJS:将ng模型从指令组件传递到控制器
- TimelineJs and AngularJs ng-view content