问题标签 [angular-cdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 构建 cdk modal - ngOnInit 未触发且未传递数据
我正在尝试构建modals
仅依赖于CDK
. 模态是通过服务打开的,我通过entryComponent
以模态渲染它。
这是示例:https ://stackblitz.com/edit/angular-ofzpks?file=src%2Fapp%2Fmodal.component.ts
在模态本身中,我正在使用工厂创建组件:
我有两个问题:
- 我必须
componentRef.instance.ngOnInit();
手动触发 - 我将一些数据传递给该组件:
componentRef.instance.name = this.data.name;
但组件从不呈现它
angular - 无法从 BackdropClick 关闭 Angular 材质 Cdkoverlay
我目前正在使用Angular Material cdkoverlay
并希望在单击屏幕上除叠加层以外的任何其他位置时将其关闭。我已经订阅了,backdropClick()
但我无法启动它。
创建和启动覆盖的一切工作正常,它只是响应外部点击。
如果我添加它hasBackdrop: true
,OverlayConfig
它会创建深灰色背景,并且外部点击有效,但我不想要一个可见的背景,比如选择组件。
angular - 拖放 - Angular Material 2 Experimental CDK - 重新排列水平堆叠的项目
我正在使用刚刚添加到 Angular Material Experimental CDK 中的全新拖放功能。我正在尝试水平堆叠可拖动的项目,但是当我这样做时,它会破坏拖放功能。关于我做错了什么的任何想法?
这是我的堆栈闪电战:https ://stackblitz.com/edit/angular-basic-horizontal-drag-drop
angular - Angular CDK 门户从门户中分离
我正在使用 Angular CDK 的门户创建一个错误消息组件,该组件需要在正文(因此使用门户)中呈现在其他所有内容之上。
它运行良好,尽管在错误消息本身上我需要能够从组件内关闭它。
我正在使用服务来设置门户并打开/隐藏消息。问题是我无法从错误消息组件本身中调用 close 方法,因为那时我有一个循环依赖关系并且它都崩溃了。
我知道通过 CDK 的覆盖,您可以从其组件中引用它,有没有办法对门户做同样的事情,以便我可以从错误消息组件中分离门户?
谢谢。
这是服务代码
angular - 从 Angular 6 材质树中的子节点获取父层次结构
我正在按照教程在 Angular 6 中实现 cdk 树。我创建了一个树结构,现在我想通过使其可点击来从子级获取父层次结构,而有诸如 getDescendants 之类的方法来获取节点的子级,副反之亦然。如何从子节点或叶节点获取父层次结构。
angular - 在角度 cdk 覆盖上获取活动位置?
有没有办法让附加组件覆盖活动位置?例如,我说要在上方打开一个工具提示,但这无法完成,并且叠加层将在下方打开它。我想从工具提示中添加一个指向我的元素的箭头,如果覆盖在元素上方/下方,我现在需要正确定位箭头
angular - @angular/cdk/overlay 全局和居中位置不起作用
我正在尝试使用新的@angular/cdk,但位置策略似乎不起作用,只想显示一个以背景为中心的模态,我知道我可以为窗格设置一个类并在那里设置固定定位但是,在这种情况下,我不知道 positionStrategy 配置是什么,我希望尽可能适应 @angular/cdk 功能。
这里的例子:https ://stackblitz.com/edit/angular-9nthad?file=src%2Fapp%2Fhello.component.ts
angular - Angular-CDK SVG 没有出现
我无法在 CDK 层中显示 SVG 图标。我有以下代码:
应用菜单.html
应用程序菜单.component.ts
joomla.svg
我得到如下 HTML 输出:
看起来好像 HTML 输出很好。我需要它显示在菜单网格中。它在用 Chrome 进行检查后显示了 HTML,看起来它是正确的,但什么也没有出现。注意:图标打开的背景不是白色的。所有其他图标都显示,但它们只是材料图标。为什么 SVG 图标不显示?
angular - 如何访问 [cdkPortalOutlet] 中的组件引用
我正在实现 Angular 的 CDK 门户来加载动态组件。我能够使用给定的 html 和 app.ts 快速轻松地将组件加载到页面上。
加载组件后,我想访问它的接口方法doSomething(),但是我似乎无法访问已加载的组件。
是否可以访问该组件?
类/接口:
html:
应用程序.ts
我试图通过以下方式给出类型的指示:
但是,由于以下错误,这样做使我无法设置我的 this.portal:
我觉得令人费解。
angular - 附加到组件时如何调整 Angular CDK 覆盖背景的大小
我想在特定组件上覆盖 CDK。我使用flexibleConnectedTo()
将覆盖的内容部分正确定位在组件上。我不知道如何让覆盖背景只覆盖组件而不是整个页面。该类cdk-overlay-container
具有CSS
我知道我可以覆盖 CSS,但是我正在寻找的是一种 Angular CDK 方法来调整大小cdk-overlay-container
以适应组件的边界。
我通读了文档,但是我看不到这样做的方法。我是否遗漏了文档中的某些内容?