问题标签 [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.
angular - Angular 2 为 @ViewChildren 查询多个 HTML 元素
在 Angular 2 中,@ViewChildren 可用于使用本地模板变量获取多个 HTML 元素,例如
有没有更好更简单的方法来获取多个 HTML 元素,例如使用类名,例如:
获取包含类名的所有元素。或使用元素类型、名称、...
我尝试使用 ElementRef,但当 HTML 元素嵌入 *ngIf 时它不起作用。
我尝试为不同的元素设置相同的本地模板变量,看起来 @ViewChildren('myVar') 可以为我获取所有元素。但是 Angular Doc 说这样做会产生未知的后果。
由于异步,我别无选择,只能使用@ViewChildren。但我想简化 @ViewChildren 调用。否则,每当我添加一个新元素时,我都需要为该元素添加一个新的本地模板变量,然后他们将该变量添加到@VeiwChildren()。如果我可以基于类查询,那么我只需要用类名标记新元素。无需更改 @ViewChildren() 调用。
html - Angular2 @ViewChild ElementRef offsetHeight 总是 0
我试图在我的模板中引用组件的元素,并且高度始终为 0。
模板
这很奇怪,因为该元素渲染得很好并且占用了空间,但即使在几秒钟后单击仍然返回 0 的高度。
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) 总是返回“未定义”!仅当用户单击应用指令的输入时,我才需要它来显示小键盘...
我究竟做错了什么?我被这个问题困住了,所以任何帮助都将不胜感激。
angular - viewchildren 的 offsettop 和 offsetleft
我在 *ngFor 中有一个动态创建的组件,在将它们放入 ViewChildren 之后,如何获取它们的 offsettop 和 offsetleft。
模板
班级
这是 ngAfterViewInit
我可以通过 ViewChild 获得单个元素的位置,但需要 ViewChildren 的帮助。任何指针将不胜感激。
angular - 如何使用angular2遍历包含多个div的div
我有一个要求,用户将被问到 1-5 的一系列问题,问题将循环出现,例如用户首先回答第一个问题,然后单击下一个问题旁边,他也可以转到上一个问题。当问题结束时,他将提交。
我正在尝试遍历包含多个 div 螺母的 div 我在 angular 2 中使用 view child 时遇到错误
虚拟数据
控制台日志
ionic-framework - Ionic 2:如何从 Popover 组件调用父页面功能
我有一个带有打开 PopoverController 的按钮的页面组件。根据 Ionic Docs,popovers 的内容需要另一个特定的组件。
在主页中,我有一个需要从 popover 组件调用的函数,但我还没有找到如何访问“父母”方法。我试过了,@ViewChild
但孩子是undefined
。
如您所见,我刚刚开始使用 Ionic 2 和 Angular,因此非常感谢您的帮助!
angular - ViewChild 在调整大小事件期间未定义
让我们来看看:
this.sidebar
在这里很不稳定。它在生命周期挂钩期间正确注销,但是当您调整窗口大小时,它变为空。没有camelCase 问题,没有条件 dom,那么代码有什么问题?
angular - Angular2 - 未在同一模块中声明时指令不起作用
我有一个指令,我想在多个模块中使用它。在每个模块上声明它会产生错误。因此,我尝试在共享模块中声明它并将这个共享模块导入其他模块。但是,它没有用。它仅在组件自己的模块上完全声明时才有效。
这是我的SharedModule
:
我想使用的模块ModalDirective
:
在MyComponent
组件中:
modal
in MyComponent
is undefined
(even in ngAfterViewInit
) ifModalDirective
没有声明 in MyModule
。任何人都知道如何解决这个问题?
unit-testing - 在 Ionic 2 中,如何让 ViewChild 在单元测试期间不为空?
我正在为我的 ionic 2 应用程序编写单元测试,并且我有一个如下所示的 @ViewChild 调用:
在我的 slides.ts 我有这个:
这在运行服务器时工作正常,并且幻灯片效果很好,但是当我尝试编写单元测试时,幻灯片是未定义的。当然,这会破坏其他一切。
我的单元测试设置如下所示:
我该怎么做才能在单元测试中正确定义我的 @ViewChild?
angular - 如何使用带有数据表的 ts 代码中的 @ViewChild 从父组件向 DOM 注入子视图
这是创建数据表的父组件:
这是动态组件:
我想在使用的行之后注入 CollectedItemsDynamic 组件的 html 模板row.child( -----> Inject_here_the_CollectedItemsDynamic_template <-----).show();
这应该在所选行之后添加一个,并且按钮单击应该打印到控制台 == CollectedItemsDynamic 中的绑定应该可以工作。
有没有办法将 CollectedItemsDynamic 注入 DatatableComponent 的 DOM?