Angular父组件调用子组件的方法


Posted in Javascript onApril 02, 2018

理解组件

组件是一种特殊的指令,使用更简单的配置项来构建基于组件的应用程序架构

这样他能简单地写app,通过类似的web Component 或者angular2的样式。

web Component 是一个规范。马上就要成为标准。

应用组件的优点:

  • 比普通指令配置还简单
  • 提供更好的默认设置和最好的实践
  • 对基于组建的应用架构更优化。
  • 对angular2的升级更平滑。

不用组建的情况:

  • 对那些在 compile或者pre-link阶段要执行操作的指令,组件不能用,因为无法到达那个阶段。
  • 如果你想定义指令的  priority,terminal,multi-element,也不能用。
  • 组件只能通过元素标签触发,其他的只能用命令。

viewChild装饰器。

父组件的模版和控制器里调用子组件的API。

1、创建一个子组件child1里面只有一个greeting方法供父组件调用。

import { Component, OnInit } from '@angular/core';
@Component({
 selector: 'app-child1',
 templateUrl: './child1.component.html',
 styleUrls: ['./child1.component.css']
})
export class Child1Component implements OnInit {
 constructor() { }
 ngOnInit() {
 }
 greeting(name: string) {
 console.log("hello" + name);
 }
}

2、父组件中分别在模版中用模版本地变量调用和在控制器中用ts代码调用。

父组件写2个<app-child>并分别指定模版本地变量

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>

3,在父组件控制器中声明一个由viewChild装饰器装饰的变量获得子组件的引用。

通过模版变量的名字child1找到相应的子组件并赋值给child1变量,拿到引用就可以调用子组件方法。

@ViewChild('child1')
child1:Child1Component; //父组件中获得子组件的引用
ngOnInit(){
 this.child1.greeting("Tom");
}

Angular父组件调用子组件的方法

4,在父组件模版中调用子组件方法。

在父组件模版中加一个button,点击时去调用子组件child2的greeting方法。

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>
<button (click)="child2.greeting('Jerry')">调用child2的greeting方法</button>

Angular父组件调用子组件的方法

总结

以上所述是小编给大家介绍的Angular父组件调用子组件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript静态类型检查工具FLOW简介
Jan 06 Javascript
DOM 高级编程
May 06 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
轻松实现javascript图片轮播特效
Jan 13 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
Sep 21 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
JavaScript实现单点登录的示例
Sep 23 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 #Javascript
微信小程序block的使用教程
Apr 01 #Javascript
JavaScript动态加载重复绑定问题
Apr 01 #Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 #Javascript
Vue.js进阶知识点总结
Apr 01 #Javascript
vue 指定组件缓存实例详解
Apr 01 #Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 #Javascript
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
初识Laravel
2014/10/30 PHP
php递归json类实例
2014/12/02 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
自己封装的javascript事件队列函数版
2014/06/12 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
Python实现FM算法解析
2019/06/18 Python
python实现超市商品销售管理系统
2019/11/22 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
用python批量移动文件
2021/01/14 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
应届生自我鉴定
2013/12/11 职场文书
中学门卫岗位职责
2013/12/26 职场文书
大学生自我鉴定书
2014/03/24 职场文书
机关会计岗位职责
2014/04/08 职场文书
门店业绩提升方案
2014/06/08 职场文书
节约用水标语
2014/06/11 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
小学入学感言
2015/08/01 职场文书
Js类的构建与继承案例详解
2021/09/15 Javascript
mysql的Buffer Pool存储及原理
2022/04/02 MySQL
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB