您的位置:首页 > Web前端 > AngularJS

Angular2 Decorator

2015-07-20 23:17 519 查看
1 at first, we use the (keyup) event handler to update the modify

@Component({
selector: 'my-app'
})

@Template({
inline: '<h1>{{myName}}</h1>' +
'<input type="text" #newname (keyup)/>' +
'<h3 [style.color]="newname.value">{{newname.value}}</h3> '

})


but, if i wanna do something more when I use the keyup in all the input keyup?

we use the Decorator to decorator the event

2 import the Decorator

import {Component, Template, bootstrap, Decorator} from 'angular2/angular2';


3 define the Decorator

@Decorator({
selector: 'input',
events: {'keyup': 'onKeyUp()'}
})

class InputDecorator {
onKeyUp() {
console.log('do nothing');
}
}


4 use the decorator

@Template({
inline: '<h1>{{myName}}</h1>' +
'<input type="text" #newname />' +
'<input type="text" #test/>' +
'<h3 [style.color]="newname.value">{{newname.value}}</h3> ',
directives: [InputDecorator]

})


5 the whole page code

import {Component, Template, bootstrap, Decorator} from 'angular2/angular2';
@Decorator({ selector: 'input', events: {'keyup': 'onKeyUp()'} }) class InputDecorator { onKeyUp() { console.log('do nothing'); } }
@Component({
selector: 'my-app'
})

@Template({
inline: '<h1>{{myName}}</h1>' +
'<input type="text" #newname />' +
'<input type="text" #newnam />' +
'<h3 [style.color]="newname.value">{{newname.value}}</h3> ',
directives: [InputDecorator]

})

class MyApp {

constructor() {
this.myName = 'Jackey';
this.myFriends = [
{name: 'Jackey1', age: 25},
{name: 'Jackey2', age: 26}
];
}
}

bootstrap(MyApp);


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: