美文网首页我爱编程
Angular之模板变量、组件交互(子组件向父组件传值)

Angular之模板变量、组件交互(子组件向父组件传值)

作者: writeanewworld | 来源:发表于2018-01-29 18:54 被阅读0次

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.子组件向父组件传值
这个比较繁琐---直接看图吧

image.png image.png image.png image.png image.png image.png image.png

相关文章

网友评论

    本文标题:Angular之模板变量、组件交互(子组件向父组件传值)

    本文链接:https://www.haomeiwen.com/subject/axrfzxtx.html