【发布时间】:2019-03-21 18:43:25
【问题描述】:
我有一个子组件,它使用@Input 指令从父组件获取属性值。问题是双向数据绑定似乎不适用于此输入属性。知道这可能是什么原因吗?
子组件类
@Component({
selector: 'app-edit-property',
templateUrl: './edit-property.component.html',
styleUrls: ['./edit-property.component.css']
})
export class EditPropertyComponent implements OnInit {
@Input() property: any;
constructor(
private propertiesService: PropertiesService
) { }
ngOnInit() {
}
}
模板
<input type="text" class="form-control" required name="title" [(ngModel)]="property.title" #title="ngModel">
父组件
<app-edit-property [property]='property'></app-edit-property>
【问题讨论】:
-
可以分享一下代码吗?
-
Angular 中没有真正的双向绑定。这是 Angular.js 的缺陷之一。结合属性绑定和事件绑定有一种语法糖化。由于您没有添加任何代码,因此我不确定您尝试做什么。
-
我想创建一个组件来执行现有对象的更新/编辑,我创建了一个子组件并将对象的副本传递给它,但这似乎不是一个好方法这样做,对于编辑对象的最佳方法有什么建议,而无需导航到新组件并通过新的 API 调用来检索数据?
-
如果property是一个对象,你可以不用@Output,看stackblitz.com/edit/…中的简单例子
标签: angular typescript angular7