constructor(
public templateHeaderRow = 'DefaultTableHeaderTemplate',
public templateBodyRow = 'DefaultTableRowTemplate',
private templateBase = _templateBase) {
require([this.templateBase + templateHeaderRow + '.html', this.templateBase+ templateBodyRow + '.html'], () => console.log('fdsfdsdfsf'));
}
然后我这样称呼它:log = new ListViewBase(undefined,'LoggingTableRowTemplate');
似乎有点愚蠢(undefined,'
。谁能提出不同的设计?
什么会很好,就像在 C# 中我可以做(parametername:value, another:value2)
的那样,并且顺序对于可选参数无关紧要。虽然在打字稿中没有找到类似的东西。
更新
替代我这样做:
public templateHeaderRow = 'DefaultTableHeaderTemplate';
public templateBodyRow = 'DefaultTableRowTemplate';
private templateBase = _templateBase;
constructor(configuration? : ListViewBaseConfiguration) {
if (typeof configuration !== "undefined") {
if (typeof configuration.templateBase !== "undefined")
this.templateBase = configuration.templateBase;
if (typeof configuration.templateBodyRow !== "undefined")
this.templateBodyRow = configuration.templateBodyRow;
if (typeof configuration.templateHeaderRow !== "undefined")
this.templateHeaderRow = configuration.templateHeaderRow;
}
require(['template!' + this.templateBase + this.templateHeaderRow + '.html',
'template!' + this.templateBase + this.templateBodyRow + '.html']);
}
但是我必须编写更多代码来获得某些参数可以设置而其他参数不能设置的行为。