问题标签 [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 - bind #element to element created with *ngFor
I am using *ngFor to create a bunch of divs. I would like to get my hands on one of them an get its width.
Apparently, you cannot use ViewChild with *ngFor, because elReference
remains undefined.
How do you get element reference created with *ngFor?
angular - 在 AfterViewInit 角度 2 上实例化 @ViewChild
我试图引用我在使用应用程序期间添加的动态模板,但 view child 的值始终未定义,所以我问我可以在 View Init 之后实例化它吗?
谢谢 。我正在使用 Dragula 库,并且我想在放置拖动的元素时创建一个组件,问题是要创建的组件用于在同一页面中加载的许多组件中,所以我想注入一个“cabled” html 元素在其中的 on 中具有不同的局部变量,我想使用视图子项稍后访问该子项。
angular - 获取对非组件子元素的 DOM 元素的引用
在 Angular 中,ViewChild 用于获取对放置在特定组件的 HTML 文件内的 dom 元素的引用。如何获取对位于组件 HTML 文件之外的 DOM 元素的引用?例如,它存在于祖父母兄弟组件中。
javascript - 如何在 Angular 4 中横向/操作 DOM
我正在寻找如何访问 A4 中的 DOM 元素。
我很难理解这一点...我一直在阅读有关 ElementRef、ViewChild 等的内容...但我仍然不完全了解如何在 Angular 4 中横穿 DOM 元素。例如这个 jQuery 语句在 A4 中会是什么?
像:
如何以上述方式访问该元素 - 无需添加任何 id、类或 #template 标记?在某些情况下,我无法访问 html,所以我想知道如何在不使用 jQuery 的情况下执行此操作,因为 Angular 不赞成它:[
angular - Angular 2 @ViewChild 不工作。无法读取未定义的属性“标题”
即使在使用@ViewChild 导入后,我也无法访问组件的属性。下面是代码。
header.monitor.component.ts
header.monitor.component.html
admin.component.ts
错误错误:未捕获(承诺):类型错误:无法读取未定义的属性“标题”类型错误:无法读取未定义的属性“标题”
帮我解决这个错误。
angular - ViewChild 返回未定义
我正在使用材料设计和 Angular 5。我试图使用材料加载器,所以当导航开始显示加载器时,当结束时根据这个问题的答案删除加载器。我试过viewchild
了
并在我的组件构造函数中调用如下:
但控制台总是返回undefined
。对 Angular 有点陌生。知道为什么吗?
angular - Javascript 到 Angular 2:document.querySelector('el').emit('em') 到 @viewChild
如何转换
HTML
JS
这是我在 Angular 2 中不起作用的代码。
javascript - Angular4专注于组件
我有一个包含复选框组件列表的多选项列表组件。父组件具有用于鼠标悬停的 CSS:focus
和:hover
类。所有可控元素都在选项卡索引中(因此您可以笨拙地使用键盘在复选框中进行选项卡)。
现在我们要允许在多选项列表中使用箭头键导航。基本上我需要用来@ViewChild
抓取我需要的元素并设置 .focus()
它。这正是我在不同组件中所做的,并且有效。但是,在这里它不起作用。唯一的区别是,在它工作的组件中,我的*ngFor
循环遍历一个div
s 列表,在这种情况下,它遍历一个组件列表。
所以这归结为我无法让:focus
伪类粘在我的组件上。下面的代码不完整,只是试图让第一个元素成为焦点。某种PoC。
MultiPicklist.component.html:
MultiPicklist.component.scss:
MultiPicklist.component.ts:
值得一提的是,:hover
伪类可以工作,将鼠标悬停在组件上会为其提供正确的背景颜色。但不是.focus()
。此外,不会抛出任何错误。
angular - 为什么没有使用@ViewChild 以角度定义属性
这是我试图访问子组件中的变量的组件。父级是应用程序组件,子级称为 LoginComponent
我从angular.io 站点中的这个示例中获取了这段代码 问题是,当执行 hideLogin() 函数时,我得到了这个错误:
我截断了错误消息,因为我认为整个堆栈跟踪没有任何用处。无论如何,我认为错误可能是 loginComponent 对象未初始化。但对我来说,消息说“未定义”听起来很奇怪,在我从中获取它的示例中,它没有做任何事情来初始化对象,并且它似乎已经分配了组件的单例实例,因为它是访问其属性。
这个问题与@viewChild return undefined问题不同,因为我没有尝试从构造函数访问对象。我正在尝试从通过单击事件执行的函数访问它。这是我的应用程序组件视图:
我什至尝试从 ngAfterViewInit() 方法访问它,如下所示:
但我得到了同样的错误
angular - 为什么异步函数导致 ViewChild 在 ngOnInit() 中未定义
这是 Component ,它#h1
在 html 中引用了一个 ViewChild:
为什么在?this.h1
_undefined
console.log('h1:' + this.h1);
2020 年 11 月更新如果您使用的是具有静态选项的
最新 Angularv9,您就不会遇到这种情况@ViewChild
。