有没有办法为Angular 4中的Host元素动态添加一个双向绑定(somemodel)属性?
<my-comp></mycomp>我们想要替换上面的标记,如下所示
<my-comp [(somemodel)]="modelvalue" ></mycomp> 在运行时动态执行。我们知道@HostBinding不支持这一点,因为我们看到的最常见的例子是向host添加类或属性。有没有办法像这样使用Angular 4替换宿主元素?如果有人能为我们指明正确的方向,我们对动态加载模板/组件持开放态度。
在Angular 1中,我们使用文本替换宿主元素标记,并执行$compile(作用域)。在使用动态加载的Angular 4中有类似的方法吗?
发布于 2017-10-20 10:40:50
我认为你正在寻找的是Angular 4中的@Input,它允许你在组件上定义一个变量,并从HTML中接收它的值。这是Angular Docs on Input/Output
下面是一个简单的例子
在你的组件中,从Angular Core导入'Input‘
import { Input } from '@angular/core';然后,定义输入变量。在这里,我代表一个布尔值的加载变量。
@Input() loading:boolean = false;然后,在HTML中定义绑定。
<loader [loading]="loading"></loader>请记住,括号内的“加载”将与输入变量的名称相匹配。
https://stackoverflow.com/questions/46840344
复制相似问题