问题标签 [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 投票
1 回答
1828 浏览

javascript - 无法为自定义角度组件捕获 nativeElement

我无法获得自定义元素的 nativeElement 的引用。我有一个这样的模板:

用于访问的代码:@ViewChild('testone') el: ElementRef;

执行此操作时,我得到了元素引用-> console.log(this.el.nativeElement)

第二种模板

用于访问的代码:

执行此操作时,我收到本机元素的错误 ->

当我这样做时,我得到了类引用并且没有 nativeElement ->

问题是如果我想更改标签属性,如何访问自定义组件的本机元素。其次,无论我以何种方式访问​​它们,如果我手动更改自定义组件的属性,它会在更改后被检测为更改吗?

0 投票
1 回答
5972 浏览

angular - Angular + Jasmine:使用 spyOn 测试子组件的输出

我正在我们的 Angular 应用程序中实现一个测试套件(Karma+Jasmine),但我遇到了这个特定案例的问题。

假设我需要测试一个名为 MessageComponent 的组件,它会发出一个点击按钮的事件。如果我从父级测试事件,如何确保正确发出事件?

这是示例:

拥有这样的组件,我正在尝试使用以下代码对其进行测试:

但我总是以以下异常结束:

Expected spy emit to have been called with [ true ] but it was never called.

这让我在想……甚至有可能以这种方式测试子组件吗?我究竟做错了什么?

0 投票
1 回答
89 浏览

javascript - 孩子更新父母的“角度方式”是什么?

似乎有几种方法可以给这只猫剥皮,但我想知道最好的(做法)以及为什么。

如果我想在 child-cmp 中收集一些数据并将其传递给 parent-cmp,我可以:

  • 用父函数包装一个对象并将其作为输入传递给子对象,在输入上调用该函数。
  • 在 child-cmp 中创建一个 EventEmitter 函数并发出结果,收集 parent-cmp 中的数据。
  • 通过@ViewChild() 访问孩子并直接调用它的方法。
  • 使用要收集的数据创建一个 ngModel(仅在表单中?)

我敢肯定还有更多。对于非基于表单的组件,我觉得使用事件发射器是最有角度的事情。但是我无法真正解释为什么具有良好的技术基础。想法?

0 投票
1 回答
4962 浏览

angular - 使用角度2中的viewchild更新元素的innerhtml

我有 html 元素

我使用访问组件中的元素

如何更新类为 value 的元素的 innerhtml?

0 投票
2 回答
33583 浏览

angular - 如何从 Angular 2 中的 QueryList 获取子元素?

我是Angular2的新手。在我看来,我几乎没有在 *ngFor 中生成相同的孩子。

我需要在父元素中调用这些组件的方法并找出 ViewChildren 装饰器,代码是:

然后我尝试通过 forEach 迭代它们:

但它什么也没做。在 QueryList 上调用的 toArray() 方法返回空数组。

有什么建议可以一次获取所有子组件并调用其方法吗?

0 投票
0 回答
1170 浏览

angular - Angular 2 仅在 *ngIf 评估为 true 时才定义 ViewChild

如果模板中存在视图子视图,我如何才能定义它。我正在使用这样的动态组件加载器......

viewContainer.directive.ts

component.ts 的一部分

这很好用

在模板 html 文件中。

如果我在模板中使用这样的东西......

...并something评估false我遇到了一个未定义的错误

undefined is not an object (evaluating 'this.viewContainer ...

我怎么能解决这个问题?有没有办法只在组件中设置 ViewChild 如果它存在于模板中?

0 投票
0 回答
1577 浏览

angular - 在祖父母和孩子角度2之间传递数据

在 angular2 我有一个 addproperty 组件(祖父)和 addproperty2 组件(父)和一个复选框组件(子)。在祖父中有一个带有添加按钮的表单,如果用户单击父组件中的复选框,则会显示并再次添加按钮存在。祖父母html:

这意味着如果 page2 为真,它会在祖父母中显示父 html。祖父组件:

父 html:

父组件:

和复选框组件:

这是复选框类:

复选框服务:

现在的错误是:无法读取未定义的属性“emkan”我在两个组件中使用了 viewchild 方法,但我不知道这个错误的原因。你能帮我用 viewchild 方法解决这个问题吗?非常感谢。

0 投票
1 回答
4027 浏览

angular - 带有 viewchild 的 ngIf

我是 angular2 的新手,并不专业。我有一个父子组件,当用户单击按钮时,子组件的选择器会显示一些东西。所以它应该是条件,也可以从子组件中使用。这是我的代码: 父 Html:

和父组件:

现在我的问题是,当用户单击时,在父级中显示子级选择器的最简单方法是什么。因为错误是:无法读取未定义的属性“emkan”。我知道这是因为 *ngIf 但不知道我该怎么办。另外我应该说我可以在代码中使用 viewchild 方法。感谢您以简单的方式提供帮助。

0 投票
3 回答
3442 浏览

angular - 在角度 2 中选择具有 1 个哈希选择的 viewchild

有没有技巧可以在同一级别内选择具有相同标签的多个标签?

它总是给出“引用“#el”被定义多次”错误消息。

提前致谢

0 投票
2 回答
10006 浏览

angular - Angular(2/4)modalService.close()不起作用

这是我的代码:

我正在尝试 this.modalService.close()在不同的功能中使用。但它甚至不能在this.modalService.open(modal)完美运行的相同功能中工作。

我收到此错误: this.modalService.close is not a function

任何建议这里出了什么问题?