- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想让我的组件更具可重用性。在组件中,我使用 ngModel 绑定(bind)了两个值:elem.key 和 elem.value。问题是,无论我想在哪里使用这个组件,该元素都必须具有键和值属性,例如来自 Api 的一些数据可能有名称和昵称等。现在我可以重复使用我的组件,但前提是值对象的键和值。我的代码:
HTML:
<button (click)="addNew()">Add</button>
<div *ngFor="let elem of elements">
<text-input [(ngModel)]="elem.key" type="text"></text-input>
<text-input [(ngModel)]="elem.value" type="text"></text-input>
</div>
:
@Input() elements: any[];
addNew() {
this.elements.push({
key: '',
value: ''
});
}
如果我在另一个组件中使用我的组件:
<input-key-value [elements]="values">
如果我只需要添加到值数组 {key: '', value: ''} 它工作正常但有时我想添加例如 {name: '', nickname: ''}, 导致数据在这必须将格式发送到服务器。
我尝试添加另一个 Input 名称输入,{key: 'name', value: 'name'} 在 html 中:
<text-input [(ngModel)]="elem[inputs.key]" type="text"></text-input>
<text-input [(ngModel)]="elem.[inputs.value]" type="text"></text-input>
但这又一次将错误的数据推送到我的主数组。
最佳答案
这对我有用。
输入键值模板:
<div *ngFor="let elem of elements">
<div *ngFor="let prop of keys(elem)" >
<text-input type="text" [(ngModel)]="elem[prop]"></text-input>
</div>
</div>
输入键值 ts:
keys(element) {
return Object.keys(element);
}
根据您的对象具有的属性数量,它会呈现尽可能多的文本框。希望这会有所帮助。
关于javascript - Angular 4 - 使组件更具可重用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53497616/
我的按钮有问题。该按钮是登录按钮。当我在输入凭据后单击回车时,将触发查看凭据是否正确的方法。这没有任何问题。 但还应该发生的是,在检查这些凭据是否正确之后,登录和注册按钮应该会被删除,同时会出现一个新
因此,我尝试以 Angular 显示多个 View ,以帮助解决我正在构建的网站中遇到的页脚问题。我想确保我一直在阅读和尝试模仿的内容是有意义的。这就是我到目前为止所拥有的。 index.html
我正在尝试创建可调整大小的 div 容器,而且它们是可拖动的。 我使用了 Angular Material 拖放和 angular resizable element 这是解决方法 https://s
我正在尝试创建可调整大小的 div 容器,而且它们是可拖动的。 我使用了 Angular Material 拖放和 angular resizable element 这是解决方法 https://s
我是一名优秀的程序员,十分优秀!