angular - 使用属性初始化 Angular 2 组件

标签 angular

有什么方法可以将参数传递到 Angular 2 组件的根目录吗?我已经能够使用属于内部组件模板一部分的组件来执行此操作,但不能使用根组件来执行此操作:

<my-component [test] = "some-val"></my-component>

在我的组件上:

export class AppComponent implements OnInit {
    test: string;

    ngOnInit() {
        console.log(this.test); //test is undefined
    }
}

这样做的原因是使用 Razor 变量传递给 Angular。例如编辑用户。我可以做这样的事情:

<edit-form [model] = "@Model.Id" > </edit-form>

最佳答案

Angular 不会仅在其他组件内对 index.html 进行任何绑定(bind)。

在根组件中获取属性值的解决方法是

export class AppComponent {
  constructor(elementRef:ElementRef) {
    console.log(elementRef.nativeElement.getAttribute('inputField));
  }
}

另请参阅https://github.com/angular/angular/issues/1858

关于angular - 使用属性初始化 Angular 2 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37155082/

相关文章:

angular - 为什么我没有得到任何数据? Ngrx

angular - Angular 中 <center> 的替代品是什么?

javascript - 类型 'do' 上不存在属性 'Subscription'

html - 如何将 ng2-dnd 应用于背景图像?

angular - 在 Angular 4 的装饰器中使用服务

html - 哪个 Angular 模块创建(点击)DOM 属性并处理 DOM 点击事件?

html - 在 Angular7 的 <option> 中显示和隐藏跨度

xml - 在 Angularjs 2 HTTP GET 请求中将响应正文检索为纯文本或 xml

javascript - Match a URL with placeholders 与 URL with filled placeholders

angular - ChartJS - 带图标的自定义工具提示