相关疑难解决方法(0)

如何在组件模板中选择元素?

有人知道如何获取组件模板中定义的元素吗?聚合物使得它真正用简单的$$$.

我只是想知道如何在Angular中实现它.

以教程为例:

import {Component} from '@angular/core'

@Component({
    selector:'display'
    template:`
     <input #myname(input)="updateName(myname.value)"/>
     <p>My name : {{myName}}</p>
    `

})
export class DisplayComponent {
    myName: string = "Aman";
    updateName(input: String) {
        this.myName = input;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从类定义中捕获por input元素的引用?

typescript angular-components angular

463
推荐指数
9
解决办法
47万
查看次数

@ViewChild和@ContentChild有什么区别?

角2提供@ViewChild,@ViewChildren,@ContentChild@ContentChildren用于查询一个组件的派生元素装饰器.前两个和后两个有什么区别?

angular

164
推荐指数
5
解决办法
7万
查看次数

替代 elementRef.nativeElement.id

我知道不建议使用替换elementRef.nativeElement,建议用某种标签ViewChild或类似的东西替换 iT 。我想知道当我有一个通用类型的本机元素时,如何使用这些标签来代替它的使用。我需要访问未知类型的通用元素的 id:

elmentRef.nativeElement.id
Run Code Online (Sandbox Code Playgroud)

我的相关 package.json:

"@angular/common": "4.2.5",
"@angular/compiler": "4.2.5",
"@angular/core": "4.2.5"
Run Code Online (Sandbox Code Playgroud)

我正在尝试替换这个代码,它是我图书馆中可能其他人的父代码,因为我得到:

import { ElementRef } from '@angular/core';

export abstract class IdentityComponent {
    id = '';

    constructor(protected el: ElementRef) {
        if (el) {
            this.id = el.nativeElement.id;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

angular

3
推荐指数
1
解决办法
1万
查看次数

通过@ViewChild访问组件的nativeElement

免责声明:我刚刚发现我的问题几乎是该问题的重复:Angular在父对象上使用指令获取嵌套元素 问题本身并不相同,但是可接受的答案解决了我的问题

我的问题:我想使用@ViewChild访问子组件的属性“ .nativeElement”。在SO上已经讨论了这个问题,但是没有适合我的用例的解决方案。我将进一步参考其他问题。

这是父组件的html:

<h1>The Title</h1>

<some-child-component #wanted></some-child-component>

<some-other-component></some-other-component>
Run Code Online (Sandbox Code Playgroud)

现在,我尝试像这样访问#wanted-component:

@ViewChild('wanted') myWantedChild: ElementRef;
Run Code Online (Sandbox Code Playgroud)

但是我在这里没有得到ElementRef,我将得到对SomeChildComponent-Instance的引用,就像在接受的答案中指出的那样: 如何在Angular4中访问组件的nativeElement?

我可以在Childcomponent本身中保留ElementRef,但可以将其注入构造函数中。但是我需要在父组件中使用ElementRef。

访问一个简单的div块的ElementRef很容易:

<div #wanted>something</div>
Run Code Online (Sandbox Code Playgroud)

在这里,您可以通过@ ViewChild-Annotation直接获得ElementRef(在此处比较已接受的答案:在angular2中访问本机元素的正确方法是什么(2种差异方法)文档稀缺?

现在对我来说问题仍然存在:如何获取用作子组件的组件的ElementRef?我的确切用例是,我想获得子组件的高度(以像素为单位)。据我所知,我需要nativeElement-Reference。

编辑:

我可以将在子组件的构造函数中获得的ElementRef公开为公共属性。但这似乎有点...

angular-components angular

2
推荐指数
1
解决办法
2857
查看次数

标签 统计

angular ×4

angular-components ×2

typescript ×1