I got the following html
I want the data and columns properties to
[ngModel], [value], {{ param }} etc. you have one-way binding, model to view, (ngModelChange) you have one-way binding, view to model, [(ngModel)] you have two way binding.But you are using a sub-component with the input @Input() property and this dances out of the line ;-) The notation is not what it looks like because it's always binded.
So if you change the myObj in your sub-component, it will be binded:
ngOnInit() {
this.myObj = this.myObj.push(this.newObj);
}
You could work with a local copy of myObj to prevent binding.
If you need an update from model you can push it with @Output() as Event: