问题标签 [viewchild]

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.

0 投票
0 回答
415 浏览

angular - Angular 2 为 @ViewChildren 查询多个 HTML 元素

在 Angular 2 中,@ViewChildren 可用于使用本地模板变量获取多个 HTML 元素,例如

有没有更好更简单的方法来获取多个 HTML 元素,例如使用类名,例如:

获取包含类名的所有元素。或使用元素类型、名称、...

我尝试使用 ElementRef,但当 HTML 元素嵌入 *ngIf 时它不起作用。

我尝试为不同的元素设置相同的本地模板变量,看起来 @ViewChildren('myVar') 可以为我获取所有元素。但是 Angular Doc 说这样做会产生未知的后果。

由于异步,我别无选择,只能使用@ViewChildren。但我想简化 @ViewChildren 调用。否则,每当我添加一个新元素时,我都需要为该元素添加一个新的本地模板变量,然后他们将该变量添加到@VeiwChildren()。如果我可以基于类查询,那么我只需要用类名标记新元素。无需更改 @ViewChildren() 调用。

0 投票
2 回答
5021 浏览

html - Angular2 @ViewChild ElementRef offsetHeight 总是 0

我试图在我的模板中引用组件的元素,并且高度始终为 0。

模板

这很奇怪,因为该元素渲染得很好并且占用了空间,但即使在几秒钟后单击仍然返回 0 的高度。

https://gyazo.com/6504d4f41e6e0072df517082f63fa6ae

0 投票
1 回答
3069 浏览

components - Ionic 2 - 如何从指令内部访问组件?

我正在尝试构建一个指令以在单击应用指令的控件(输入)时显示自定义小键盘。我正在研究 Ionic 2 RC5。

我的页面.html

Numpad 组件位于页面底部的 DOM 中。

dirNumpad.ts

小键盘.html

<div class="numpad" style="position:absolute; top:auto; left:0; right:0; bottom:0; height:150px;">My Numpad</div>

小键盘.ts

我的问题:我无法通过 ViewChild 从指令内部访问小键盘组件。console.log(this.numpad) 总是返回“未定义”!仅当用户单击应用指令的输入时,我才需要它来显示小键盘...

我究竟做错了什么?我被这个问题困住了,所以任何帮助都将不胜感激。

0 投票
1 回答
3591 浏览

angular - viewchildren 的 offsettop 和 offsetleft

我在 *ngFor 中有一个动态创建的组件,在将它们放入 ViewChildren 之后,如何获取它们的 offsettop 和 offsetleft。

模板

班级

这是 ngAfterViewInit

我可以通过 ViewChild 获得单个元素的位置,但需要 ViewChildren 的帮助。任何指针将不胜感激。

0 投票
1 回答
1739 浏览

angular - 如何使用angular2遍历包含多个div的div

我有一个要求,用户将被问到 1-5 的一系列问题,问题将循环出现,例如用户首先回答第一个问题,然后单击下一个问题旁边,他也可以转到上一个问题。当问题结束时,他将提交。

我正在尝试遍历包含多个 div 螺母的 div 我在 angular 2 中使用 view child 时遇到错误

虚拟数据

控制台日志

0 投票
3 回答
8546 浏览

ionic-framework - Ionic 2:如何从 Popover 组件调用父页面功能

我有一个带有打开 PopoverController 的按钮的页面组件。根据 Ionic Docs,popovers 的内容需要另一个特定的组件。

在主页中,我有一个需要从 popover 组件调用的函数,但我还没有找到如何访问“父母”方法。我试过了,@ViewChild但孩子是undefined

如您所见,我刚刚开始使用 Ionic 2 和 Angular,因此非常感谢您的帮助!

0 投票
1 回答
1207 浏览

angular - ViewChild 在调整大小事件期间未定义

让我们来看看:

this.sidebar在这里很不稳定。它在生命周期挂钩期间正确注销,但是当您调整窗口大小时,它变为空。没有camelCase 问题,没有条件 dom,那么代码有什么问题?

0 投票
1 回答
6051 浏览

angular - Angular2 - 未在同一模块中声明时指令不起作用

我有一个指令,我想在多个模块中使用它。在每个模块上声明它会产生错误。因此,我尝试在共享模块中声明它并将这个共享模块导入其他模块。但是,它没有用。它仅在组件自己的模块上完全声明时才有效。

这是我的SharedModule

我想使用的模块ModalDirective

MyComponent组件中:

modalin MyComponentis undefined(even in ngAfterViewInit) ifModalDirective没有声明 in MyModule。任何人都知道如何解决这个问题?

0 投票
0 回答
474 浏览

unit-testing - 在 Ionic 2 中,如何让 ViewChild 在单元测试期间不为空?

我正在为我的 ionic 2 应用程序编写单元测试,并且我有一个如下所示的 @ViewChild 调用:

在我的 slides.ts 我有这个:

这在运行服务器时工作正常,并且幻灯片效果很好,但是当我尝试编写单元测试时,幻灯片是未定义的。当然,这会破坏其他一切。

我的单元测试设置如下所示:

我该怎么做才能在单元测试中正确定义我的 @ViewChild?

0 投票
0 回答
497 浏览

angular - 如何使用带有数据表的 ts 代码中的 @ViewChild 从父组件向 DOM 注入子视图

这是创建数据表的父组件:

这是动态组件:

我想在使用的行之后注入 CollectedItemsDynamic 组件的 html 模板row.child( -----> Inject_here_the_CollectedItemsDynamic_template <-----).show();

这应该在所选行之后添加一个,并且按钮单击应该打印到控制台 == CollectedItemsDynamic 中的绑定应该可以工作。

有没有办法将 CollectedItemsDynamic 注入 DatatableComponent 的 DOM?