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 相关文章推荐
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
node.js中的http.response.addTrailers方法使用说明
Dec 14 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
Mar 05 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
JavaScript中校验银行卡号的实现代码
Dec 19 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
vue.js删除列表中的一行
Jun 30 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
JS使用new操作符创建对象的方法分析
May 30 Javascript
jquery将json转为数据字典的实例代码
Oct 11 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
smarty的保留变量问题
2008/10/23 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
php的curl封装类用法实例
2014/11/07 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
js 居中漂浮广告
2010/03/21 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
windows下python连接oracle数据库
2017/06/07 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
印尼购物网站:iLOTTE
2019/10/16 全球购物
团组织关系介绍信
2014/01/12 职场文书
九年级历史教学反思
2014/01/27 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
调研报告的主要写法
2019/04/18 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL