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 相关文章推荐
经常用的图片在容器中的水平垂直居中实例
Jun 10 Javascript
JavaScript DOM 学习第二章 编辑文本
Feb 19 Javascript
ExtJs使用IFrame的实现代码
Mar 24 Javascript
JavaScript EasyPager 分页函数
May 25 Javascript
jquery实现简单的瀑布流布局
Dec 11 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
react.js组件实现拖拽复制和可排序的示例代码
Aug 20 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
JS中如何优雅的使用async await详解
Oct 05 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
在漏洞利用Python代码真的很爽
2007/08/26 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
Python中with及contextlib的用法详解
2017/06/08 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python 内置模块详解
2019/01/01 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
Python 如何在字符串中插入变量
2020/08/01 Python
应届大学生求职的自我评价
2013/11/17 职场文书
学生自我评价范文
2014/02/02 职场文书
争论的故事教学反思
2014/02/06 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
春风化雨观后感
2015/06/11 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
职工食堂管理制度
2015/08/06 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL