1.在子组件html上显示一个json中的name
在上一篇的基础上:
首先在ts文件中声明变量my_name来接收从json中取出来的name,
export class PositionComponent implements OnInit {
my_name='';
constructor(){
}
。。。
在html文件中给个点击事件:
<tr *ngFor="let info of select_position index as i"
(click)="my_name=info?.name" >
html文件中:使用插值表达式显示name:
<span>{{my_name}}</span>
2.模板变量
模板变量在父组件中可以使用子组件中的方法跟变量。
其实我的理解是:在父组件中引用了子组件,模板变量是在子组件引用中进行的声明,所以本就应该找到属于自己的方法跟变量。
如下代码: #myposition就是模板变量
<app-position ></app-position>是子组件的别名,整个div是父组件的html文件中的内容。
<div class="col-md-12">
<app-position [degree_now]="_degress" (update_data)="getDataChild($event)" #myposition></app-position>
</div>
个人感觉这个东西跟级联的思路有点类似。
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs">
<li role="presentation" *ngFor="let tab of tab_items index as i" [class.active]="tab_index==i"
(click)="select_tab(i)">
<a href="#" [style.background]="tab_index==i?'red':''" >{{i}}{{tab}}</a>
</li>
</ul>
<!--<span>{{_degress}}</span>-->
<h1>{{myposition.my_name}}</h1>
<!--<h1>{{from_child_data }}</h1>-->
<!--<button (click)="myposition.show()">click show</button>-->
</div>
<div class="col-md-12">
<!--1. 父组件传值给子组件 模板变量是父组件可以看到子组件中的方法跟变量-->
<!--子组件传值给父组件-->
<app-position [degree_now]="_degress" (update_data)="getDataChild($event)" #myposition></app-position>
</div>
</div>
3.子组件向父组件传值
这个比较繁琐---直接看图吧