小编Joe*_*ugh的帖子

$ timeout是等待Angular指令模板的最佳做法吗?

我们团队的等待指令模板渲染的设计模式是将我们的DOM操作代码包装在$timeout(在指令的链接函数中),我一度知道它是正常的设计模式.这仍然是真的,还是有更好/更安全的设计模式来做到这一点?

模式示例在ECMAScript6中:

link: ($scope, $element) => {
  $timeout(() => {
     var domElementFromTemplate = $element.find('myDOMElement');
  } 
}
Run Code Online (Sandbox Code Playgroud)

javascript directive angularjs typescript

8
推荐指数
1
解决办法
639
查看次数

如何创建Typescript类的通用类型的新实例?

如何在Typescript中按预期进行以下工作?

export class ProxyObject<T> {
    private _dataObject:T;
    constructor(dataObject?:T) {
        if (dataObject) {
            this.dataObject = dataObject;
        } else {
            //create a new instance of the generic <T> here
            this.dataObject = <T> new Object();
        }
    }
    set dataObject(dataObject:T) {
        this._dataObject = dataObject;
    }
    get dataObject():T {
        return this._dataObject;
    }
}

export class ClassA {
   myCoolProperty = "My Cool Property";
}
Run Code Online (Sandbox Code Playgroud)

当我执行以下操作时:

export class MyObject extends ProxyObject<ClassA> {
}
Run Code Online (Sandbox Code Playgroud)

然后:

var obj = new MyObject();
obj.dataObject.myCoolProperty === undefined
Run Code Online (Sandbox Code Playgroud)

正如我所期望的,MyObject内部的dataObject上没有ClassA属性或函数。例如,我希望dataObject具有myCoolProperty。

我正在尝试编写一个ProxyObject类,该类在扩展时将DataObject存储类型键入为泛型。

谢谢!!

generics typescript

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

标签 统计

typescript ×2

angularjs ×1

directive ×1

generics ×1

javascript ×1