Angular2如何在普通JS中定义输入属性

Angular2如何在普通JS中定义输入属性,angular,Angular,我想使用纯JS(而不是typescript)为我的组件指定一个输入属性 我能找到的唯一文档是(来自Angular2): 但是,它不起作用(也没有报告错误) 我做错了什么?对于这些情况,您有输入和输出属性。注意,对于TS情况,注释是单数(输入和输出),而对于纯JS,注释是复数(输入和输出) var Children=ng.core。 组成部分({ 输入:['myValue'],//相当于@Input('myValue')) 输出:['emitValue']//相当于@Output()emitVal

我想使用纯JS(而不是typescript)为我的组件指定一个输入属性

我能找到的唯一文档是(来自Angular2):

但是,它不起作用(也没有报告错误)


我做错了什么?

对于这些情况,您有
输入
输出
属性。注意,对于TS情况,注释是单数(
输入
输出
),而对于纯JS,注释是复数(
输入
输出

var Children=ng.core。
组成部分({
输入:['myValue'],//相当于@Input('myValue'))
输出:['emitValue']//相当于@Output()emitValue;
}).
阶级({
构造函数:函数(){
//初始化值
this.emitValue=new ng.core.EventEmitter();
},
//可在Ngonint lifecycle上获得
ngOnInit:function(){
console.log(this.myValue);
},
//组件将发射的值
emit:function(){
emitValue.emit('这是来自子项的一些值');
}
});
使用
输入
可以使用语法
[internalValue:externalValue]
,这基本上可以让您做到这一点


演示案例。我希望它能有所帮助。

效果很好,解释得很好!伟大的非常感谢。如果没有JS.Hmm的文档,想知道你从哪里得到这些信息。。我无法让它工作,Plunker示例在Chrome53中抛出“EXCEPTION:RangeError:超出最大调用堆栈大小”。我正在努力适应ES2015OK,我在本地工作。我试图用我得到的创建一个新的Plunker,但是从angular2.js快照中得到系统和ng的参考错误。最后找出了运行Angular2需要哪些依赖项(快照版本对我不起作用)。
ng.core.Input(myProperty, myComponent); 
//Declares an input property that we can 
//update via property binding (e.g. <my-cmp [my-property]="someExpression">).
.Class({
   constructor: function () {    
       ng.core.Input(this.name, this);        
   }
});