小编Sam*_*mih的帖子

使用对象解构来分配类成员

我目前正在将遗留代码转换为项目的打字稿。该项目包含许多用纯 JavaScript 编写的自定义类,它们遵循相同的模式,即具有一个构造函数,该构造函数接受一个配置对象,该对象可以在其中定义许多配置选项。

我一直在研究如何在打字稿中定义允许的配置属性,但尚未提出我完全满意的解决方案。我首先声明一个配置接口,它允许我定义可用的配置选项,但无助于默认它们 - 我必须为定义和初始化复制我的配置接口两次或更多次。我(认为我)想要的是使用对象解构来用默认值定义类成员一次,之后就不必担心它,例如:

export interface MyClassConfig {
    propA: string;
    propB: boolean;
}

export class MyClass {
    private propA: string = 'defautValue';
    private propB: boolean;

    constructor (config: MyClassConfig) {
        { propA, propB } = config;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后可以使用以下内容进行初始化:

let mc = new MyClass({ propB: false });   //mc.propA == 'defaultValue', mc.propB === false
Run Code Online (Sandbox Code Playgroud)

我不喜欢这需要我多次复制属性名称。谁能建议一种干净的方法来实现这一目标?

typescript

9
推荐指数
1
解决办法
6257
查看次数

IE11表格单元格高度与位置折叠:绝对内容

在IE 11中测试一些旧的东西时遇到过这个问题.例如:

http://codepen.io/Samih/pen/zaqjA

基本上,当你有一个display: table-cell绝对定位内容的元素时,它会正常工作,直到你修改该绝对容器的内容.您可以通过单击示例中的一个表格单元格来查看此内容.

在Chrome,Firefox甚至IE 10中,这不会导致问题,但在IE 11中,您可以看到表格单元格高度消失为0,并且在您执行调整窗口大小之前不会再返回.

我尝试过一个黑客解决方案,它涉及使用javascript来改变单元格大小,然后将其更改回来,但在我应用它的地方证明它不可靠.如果有人能提出一个解决方案,我更喜欢基于CSS的解决方案.

html javascript css internet-explorer

5
推荐指数
1
解决办法
4451
查看次数

标签 统计

css ×1

html ×1

internet-explorer ×1

javascript ×1

typescript ×1