fix(language-service): Add directive selectors & banana-in-a-box to completions (#33311)

This commit refactors attribute completions and fixes two bugs:
1. selectors for directives are not provided
2. banana-in-a-box (two way binding) syntax are not provided

PR closes https://github.com/angular/vscode-ng-language-service/issues/358

PR Close #33311
This commit is contained in:
Keen Yee Liau
2019-10-21 18:49:32 -07:00
committed by Andrew Kushnir
parent c0b90c2010
commit 49eec5d872
4 changed files with 130 additions and 163 deletions

View File

@ -69,7 +69,9 @@ export class EventBinding {
}
@Component({
template: '<h1 [(model)]="~{two-way-binding-model}test"></h1>',
template: `
<h1 [(model)]="~{two-way-binding-model}test"></h1>
<input ~{two-way-binding-input}></input>`,
})
export class TwoWayBinding {
test: string = 'test';
@ -80,7 +82,7 @@ export class TwoWayBinding {
})
export class StringModel {
@Input() model: string = 'model';
@Output() modelChanged: EventEmitter<string> = new EventEmitter();
@Output() modelChange: EventEmitter<string> = new EventEmitter();
}
@Directive({
@ -88,7 +90,7 @@ export class StringModel {
})
export class NumberModel {
@Input('inputAlias') model: number = 0;
@Output('outputAlias') modelChanged: EventEmitter<number> = new EventEmitter();
@Output('outputAlias') modelChange: EventEmitter<number> = new EventEmitter();
}
@Component({