【发布时间】:2015-11-11 12:40:12
【问题描述】:
我正在尝试使用 Angular 2 和 Polymer 1.0.2 创建一个简单的登录窗口。 它基本上是一个包含内容的纸质对话框(登录窗口)。然而,对话框并不位于屏幕的中心,请参阅此错误报告Dialog not centered until window resize #36:
问题建议在纸质对话框上调用notifyResize() 方法。但我不知道如何在我的 angular 2/polymer 类中引用纸质对话框实例。
不知何故,导入 {PaperDialog} 没有解决,但查看 paper-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 使用 /deep/ 选择器 deprecated。 而且它不应该通过应用一些 css 来修复,不是吗?
【问题讨论】:
-
要从
template属性中获取PaperDialog的引用,假设您只有一个,您必须使用@ViewChild来获取它的引用。您可以设置一个 plnkr 以更仔细地查看它会很有用。
标签: material-design polymer-1.0 angular paper-elements