Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法


Posted in Javascript onAugust 08, 2018

ng-template 是用来定义模板的,当使用ng-template定义好一个模板之后,可以用ng-container和templateOutlet指令来进行使用。

<ng-template #loading>
 <button (click)="login()">login</button>
 <button (click)="sigup()">sigup</button>
</ng-template>
<ng-container *ngTemplateOutlet="loading">
</ng-container>

ng-template在编写高定制性的组件时非常有用。可以把需要定制的内容作为模板传到组件中。

下面看下angular 使用 ngTemplateOutlet 指令

ngTemplateOutlet 的作用

该指令用于基于已有的 TemplateRef 对象,插入对应的内嵌视图。在应用 NgTemplateOutlet 指令时,我们可以通过 [ngTemplateOutletContext] 属性来设置 EmbeddedViewRef 的上下文对象。绑定的上下文应该是一个对象,此外可通过 let语法来声明绑定上下文对象属性名。

 ngTemplateOutlet 的使用

import { Component } from '@angular/core';
@Component({
 selector: 'app-root',
 template: `
  <ng-template #stpl>
   Hello, Semlinker!
  </ng-template>
  <ng-template #atpl>
   Hello, Angular!
  </ng-template>
  <div [ngTemplateOutlet]="atpl"></div>
  <div [ngTemplateOutlet]="stpl"></div>
 `,
})
export class AppComponent { }

 ngOutletContext 的使用

import { Component } from '@angular/core'; 
@Component({
 selector: 'app-root',
 template: `
  <ng-template #stpl let-message="message">
   <p>{{message}}</p>
  </ng-template>
  <ng-template #atpl let-msg="message">
   <p>{{msg}}</p>
  </ng-template>
  <ng-template #otpl let-msg>
   <p>{{msg}}</p>
  </ng-template>
  <div [ngTemplateOutlet]="atpl"
   [ngOutletContext]="context">
  </div>
  <div [ngTemplateOutlet]="stpl"
   [ngOutletContext]="context">
  </div>
  <div [ngTemplateOutlet]="otpl"
   [ngOutletContext]="context"> </div>
 `,
}) 
export class AppComponent {
 context = { message: 'Hello ngOutletContext!', 
  $implicit: 'Hello, Semlinker!' };
}

总结

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

Javascript 相关文章推荐
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
js 采用delete实现继承示例代码
May 20 Javascript
如何判断微信内置浏览器(通过User Agent实现)
Sep 01 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
总结在前端排序中遇到的问题
Jul 19 Javascript
WEB开发之注册页面验证码倒计时代码的实现
Dec 15 Javascript
JavaScript 中 apply 、call 的详解
Mar 21 Javascript
Vue.js实例方法之生命周期详解
Jul 03 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
jQuery实现简单全选框
Sep 13 jQuery
深入理解Promise.all
Aug 08 #Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 #Javascript
vue devtools的安装与使用教程
Aug 08 #Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 #jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 #jQuery
Vue 开发音乐播放器之歌手页右侧快速入口功能
Aug 08 #Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 #jQuery
You might like
PHP实现数据分页显示的简单实例
2016/05/26 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
js 图片等比例缩放代码
2010/05/13 Javascript
关于js datetime的那点事
2011/11/15 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
vue双向绑定及观察者模式详解
2019/03/19 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
Python语言进阶知识点总结
2019/05/28 Python
python实现静态web服务器
2019/09/03 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Python中无限循环需要什么条件
2020/05/27 Python
Vrbo英国:预订度假屋
2020/08/19 全球购物
新东网科技Java笔试题
2012/07/13 面试题
C# Debug和Testing相关面试题
2015/10/25 面试题
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
利用Python+OpenCV三步去除水印
2021/05/28 Python
新手初学Java List 接口
2021/07/07 Java/Android
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript