更新父级和子级组件的值。双向的。角5.2.0

时间:2018-06-24 16:20:53

标签: angular

我创建了一个可以在其他地方重用的组件。

这是一个自动完成功能,当您选择一个值时,我会将其发送给父组件

//子组件

empleado: Empleado;
@Output() empleadoEvent = new EventEmitter<Empleado>();
....
onSelect() {
    this.empleadoEvent.emit(this.empleado);
}

//查看父级

<jhi-empleado-autocomplete (empleadoEvent)="receiveEmpleado($event)"></jhi-empleado-autocomplete>

//控制器父级

receiveEmpleado($event) {
    this.empleado = $event
}

当我改变儿子的时候,新的价值传给父亲。但是,如果我想从父亲那里抹去孩子的价值,我不知道。

即使您可以在父项和子项中放置一个属性,并且如果将它们放在一边,该更改也将在另一个项中反映出来,即是否以子项作为父项。

2 个答案:

答案 0 :(得分:1)

您使用 #include <bits/stdc++.h> using namespace std; const long long N = 5*1e4; const long long W = 1e9; const long long INF = 1e9; vector<long long> g[N]; //graph long long dist[N]; //distance bool visited[N]; // is node visited or not void shortest_path(long long s,long long m){ fill(dist, dist + N, INF); fill(visited, visited + N, 0); dist[s] = 0; vector<int>temp; queue<long long>q; //Queue q.push(s); while(!q.empty()) { long long v = q.front(); q.pop(); if(visited[v]) continue; visited[v] = 1; temp.push_back(v); //storing nodes in temp for(auto it: g[v]) { long long u = it; if(dist[v] + 1<= m) // nodes those distance is less than m { dist[u] = dist[v] + 1; q.push(u); } } } for(int i=0;i<temp.size();i++){ cout<<temp[i]<<" "; } } int main() { long long n; cin>>n; for(long long i = 0; i < n; ++i) g[i].clear(); for(long long i = 0; i < n-1; i++) { long long u,v; cin>>u>>v; u--;v--; g[u].push_back(v); g[v].push_back(u); } long long q; cin>>q; for(long long i=0;i<q;i++){ long long s,m; cin>>s>>m; s--; shortest_path(s,m); cout<<endl; } return 0; } 装饰器访问子组件的属性和方法。 parent.component

@ViewChild()

答案 1 :(得分:0)

您可以在父级中起诉 @ViewChild ,然后获取子级组分值的引用.......然后在子级组分中应用 ngOnChanges 并相应地更改值。