gpt4 book ai didi

javascript - Angular 7 通用 : inner components are not rendered

转载 作者:行者123 更新时间:2023-11-30 20:01:54 25 4
gpt4 key购买 nike

我已经设置了具有动态服务器端渲染的 Angular 7 Universal。一切正常,除了在服务器端呈现的主要组件内的动态组件本身没有呈现这一事实。

下面是标题部分的 HTML 渲染示例:

<sb-app _nghost-sc0="" ng-version="7.0.3">
<sb-header _ngcontent-sc0="" _nghost-sc1="">
<div _ngcontent-sc1="" class="nav-topbar"></div>
<nav _ngcontent-sc1="" class="navbar navbar-expand-lg navbar-light p-0" id="main-navbar">
<div _ngcontent-sc1="" class="container d-flex align-items-center px-3">
<a _ngcontent-sc1="" class="navbar-brand" href="/">
<img _ngcontent-sc1="" alt="logo" class="navbar-logo" src="/assets/images/common/logo.svg" title="Logo">
</a>
<a _ngcontent-sc1="" class="cd-nav-trigger"><span _ngcontent-sc1=""></span></a><!----><!---->
<ul _ngcontent-sc1="" class="nav nav-pills d-none d-md-flex ng-star-inserted">
<li _ngcontent-sc1="" class="nav-item"><a _ngcontent-sc1="" class="nav-link" id="login">Login</a></li>
<li _ngcontent-sc1="" class="nav-item"><a _ngcontent-sc1="" class="nav-link" id="register">Register</a></li>
</ul>
</div>

<!-- THIS BELOW COMPONENT IS NOT RENDERED -->
<sb-menu _ngcontent-sc1="" class="d-block d-md-none ng-tns-c9-0" _nghost-sc9=""><!----></sb-menu>
</nav>
</sb-header>
...
</sb-app>

我该如何解决这个问题,以便也像 <sb-menu> 这样的标签得到渲染?

最佳答案

您应该知道,Angular Universal 依赖于这样一个事实,即您的代码仅使用 Angular 机制,从不使用浏览器 API(窗口、文档、导航器等),因为这些对象在 Node.js 中不存在。

此外,如果您的组件之一依赖于通过 script 标记加载的外部库,那也不会起作用,因为 Node.js 在执行服务器端时不会加载客户端脚本渲染。

如果您的某个组件没有呈现,可能是因为您的代码不符合上述规则。

关于javascript - Angular 7 通用 : inner components are not rendered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53294689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com