Angular2中的metadata(元数据)
@Attrubute()
从host element 中获得普通(不是@Input)属性对应的值
适用于组件嵌套或指令, 从父组件向子组件传递数据
app.component.ts
import {Component} from '@angular/core'import {Child} from './child'@Component({
selector: 'App',
directives:[Child],
template: `
<h1>App</h1>
<child content="content"></child>
`
})
export class App {
public content:string = '哈哈,我是自定义属性'
}
child.ts
import {Component,Attribute} from '@angular/core';
@Component({
selector: 'child',
template: `
<h1>Child {{content}}</h1>
`
})
export class Child {
constructor(@Attribute('content') content:string) {
console.log(content);
}
}
@Injectable()
标记,用来创建一个服务
import {Injectable} from '@angular/core'
@Injectable()
export class Service{
}
@Inject()
用来指定一个依赖
@Inject(Token) 注入Token对应的实例
@Inject() 则表示根据typescript对应的类型注入
import {Component,provide,Inject} from '@angular/core';
class Service {
url:';
}
@Component({
selector: 'App',
providers: [provide(", {useClass: Service})],
template: `
<h1>App</h1>
`
})
export class App {
constructor(@Inject('kittencup') service:Service) {
console.log(service.url);
}
}
@Optional()
表示依赖是可选的,如果依赖不存在不会报错
import {Component,provide,Inject,Optional} from '@angular/core';
@Component({
selector: 'App',
template: `
<h1>App</h1>
`
})
export class App {
constructor(@Optional() @Inject('testService') service:any) {
console.log(service);
}
}
Angular2中的metadata(元数据)的更多相关文章
- MetaData元数据
一.基础 定义:数据库.表.列相关信息的描述. 何时使用:想取得对数据库的信息时使用. 一]数据库元数据——通过DataBaseMetaData DataBaseMe ...
- Impala 中invalidate metadata和refresh
首先了解一下:Impala如何融入Hadoop生态系统 Impala使用了Hadoop生态系统中许多熟悉的组件.Impala可以作为消费者和生产者与其他Hadoop组件交换数据,因此它可以以灵活的方式 ...
- Spring 中的 MetaData 接口
什么是元数据(MetaData) 先直接贴一个英文解释: Metadata is simply data about data. It means it is a description and co ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- android开发中获取<meta-data>数据
在 AndroidManifest.xml 中,<meta-data>元素是一个键值对,往往被包含在<application> .<activity>.<se ...
- 如何在Angular2中使用Forms
在Angular2中形成两个基本对象是Control和ControlGroup. 控制用户输入 Control 一个控制表示一个输入字段(ngFormControl) 一个控制可以绑定到一个input ...
- Android中<meta-data>的使用
在AndroidManifest.xml中.<meta-data>元素能够作为子元素,被包括在<activity>.<application> .<servi ...
- Angular2中Input和Output
@Input @Input是用来定义模块的输入的,用来让父模块往子模块传递内容: @Output 子模块自定义一些event传递给父模块用@Output. 对于angular2中的Input和Outp ...
- SpreadJS 在 Angular2 中支持哪些事件?
SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎.排序.过滤.输入控件.数据可视化.Excel 导入/导出等功能,适用于 .N ...
随机推荐
- 生成html的几种方案
方案1: /// <summary > /// 传入URL返回网页的html代码 /// </summary > /// <param name=&q ...
- JavaScript针对Dom相关的优化心得
JavaScript针对Dom相关的优化心得 组内同时总结的关于javascript性能优化注意些节.记录一下. 1. 批量增加 Dom 尽量使用修改 innerHTML 的方式而不是用 append ...
- Java 7之集合类型 - 二叉排序树、平衡树、红黑树---转
http://blog.csdn.net/mazhimazh/article/details/19961017 为了理解 TreeMap 的底层实现,必须先介绍排序二叉树和平衡二叉树,然后继续介绍红黑 ...
- 功能分解——Android下画分时图与k线图有感
最近工作极度繁忙,已经好久没有更新博客了,总感觉要是再不抽空总结总结点东西,分分钟就会被懒惰的状态给打到了.同时也希望同学们谨记,如果你已经决定要坚持某些正确的东西,比如背完某章单词,看一完本书抑或是 ...
- c#获得目标服务器中所有数据库名、表名、列名的实现代码
/// <summary> /// 获得目标服务器所有数据库名 /// </summary> /// <param name="serverName" ...
- WPF 之 利用Visibility属性进行Item模板切换
前台Xaml如下: <Grid.Resources> <xx:AccountStatusToVisibility x:Key="AccountStatusToVisibil ...
- IOS 如何成为开发者&购买开发者账号 感想
1.申请apple id 要注意 选择你在的国家 比如 China就会在右下角的页面出校圆圈的中国国旗,不然他们会说“无法接收你的请求”.我苦恼了半天,最后我重新申请apple ID 操作的,因为 ...
- Gradle实战:不同编译类型的包同设备共存
查看原文:http://blog.csdn.net/u010818425/article/details/52335844 Gradle实战系列文章: <Gradle基本知识点与常用配置> ...
- Java 多线程-上课总结
Java 多线程 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启 ...
- netbeans 调试 php
修改php.ini文件 原来配置 [XDebug];zend_extension = "E:\xampp\php\ext\php_xdebug.dll";xdebug.profil ...