Я пытаюсь создать простое окно входа в систему, используя Angular 2 и Polymer 1.0.2. Это в основном документ-диалог (окно входа в систему) с контентом. Диалоговое окно, однако, не расположено в центре экрана, см. Этот bugreport Dialog not centered until window resize #36:центральная бумага-диалог при открытии
Проблема предполагает вызов метода notifyResize()
в диалоговом окне бумаги. Но я не знаю, как обратиться к экземпляру paper-dialog в моем угловом классе 2/polymer.
Как-то импорт {PaperDialog} не разрешен, но поиск в документе-dialog.html заставляет меня задаться вопросом, возможен ли такой импорт вообще.
import {Component, View} from 'angular2/angular2';
import {PaperDialog} from 'bower_components/paper-dialog/paper-dialog';
@Component({
template: `
<paper-dialog open>
...
</paper-dialog>
`,
selector: 'login-window',
directives : [PaperDialog]
})
export class LoginWindow {
email: string;
password: string;
constructor(){
this.email = '';
this.password = '';
// Where and how to call the PaperDialog child's notifyResize() method
}
}
Обратите внимание, что я не открывается диалоговое окно программно (fix described here). This solution использует/глубину/селектор deprecated. И это не должно быть исправлено, применяя некоторые css, не так ли?
Чтобы получить ссылку на свой 'PaperDialog' из свойства' template', если у вас есть только один, вы должны использовать ['@ ViewChild'] (https://angular.io/docs/ts/latest/api/ core/ViewChild-var.html), чтобы получить ссылку на него. Было бы полезно, чтобы вы могли настроить plnkr, чтобы увидеть его более осторожно. –