我想提取一部分组件而不在物理DOM中实际创建其他“包装”元素,因为它破坏了我的CSS。
示例:我注意到HTML模板中的一部分如下所示:
<div>Foo</div>
<div>Bar</div>
Run Code Online (Sandbox Code Playgroud)
我想将这两个标记提取到一个名为的组件中<MyComponent>,然后在其他地方重用它。但是,当我实际上不希望将调用的父组件<MyComponent>添加到DOM时。目前我看到的是
<MyComponent>
<div>Foo</div>
<div>Bar</div>
</MyComponent>
Run Code Online (Sandbox Code Playgroud)
React使我可以使用Fragment组件的概念完美地解决此问题,该组件使您可以对元素进行分组,而无需在DOM中添加其他节点。
我想知道我是否缺少Angular Component API的一部分,可以让我做到这一点,或者我应该考虑一种根本不同的方式来考虑在Angular Components中重用代码。
这个应用程序在Angular 6中,我来自React 16+的背景。
使用示例代码片段进行编辑:我希望在不将hello元素添加到DOM的情况下进行渲染-我只希望<p>在hello组件内部显示标签
我想使用之前的答案和笑话文档node --debug-brk中描述的功能在基于 npm/yarn 1 的项目中进行调试,但在基于 Yarn 2 / PnP(即插即用)的项目中不存在,因此这些指令不会为我工作。node_modules/
访问yarn 2中的二进制文件的常用方法是yarn run --inspect-brk jest --runInBand从终端启动调试会话,但是当通过连接到Chrome的远程目标检查器时chrome://inspect,我们收到一条错误消息,提示无法连接到jest.js二进制文件,因为它是一个路径到一个.zip文件。
Uncaught Error: Cannot find module '/Users/MY_USERNAME/PATH_TO_MY_PROJECT/.yarn/cache/jest-npm-24.9.0-8ddb425e99-2.zip/node_modules/jest/bin/jest.js
Run Code Online (Sandbox Code Playgroud)
在不降级到 Yarn 1 的情况下,有哪些解决方法可用?