在ES6中,有没有办法调用通过可变参数传递的父构造函数,la foo.apply(this, arguments)
?我找到了答案,我看到的唯一实例是调用super()
(无参数)或调用super(x, y)
(使用特定参数).super.apply(this, arguments)
似乎不起作用.
我觉得这是一个非常愚蠢的问题,但我无法在任何地方找到答案.
所以我们有一个Dev分支和一个QA分支.我将Dev中的一堆连续变更集合并到QA中,并解决冲突.现在我想在稍后的变更集中合并我刚刚合并的更改(没有检查第一次合并的更改).TFS说,没有骰子:
The item $/My/Path/to/the/file.vb has an incompatible pending change.
Run Code Online (Sandbox Code Playgroud)
它有什么问题?为什么它不会给我一个合并冲突选项来将新的变更集合并到具有挂起更改的文件?我不想检查第一次合并,因此我可以合并另一个变更集.
我试图让IE10动画一个元素宽度的变化,以便它推动另一个面板.我有一个JSBin演示了基本的想法.在Chrome上,当您点击打开和关闭链接时,它会动画很好.然而,在IE10中,它只是跳转到打开和关闭.我想我有所有必要的前缀 - 任何人都知道为什么它不是动画?
更新:尝试为打开和关闭状态提供右侧显式像素值.动画就好了.握拳百分比....
更新2:显然%-to-%,px-to-px,%-to-px和px-to-%,但%-to-whatever-calc-失败
更新3:在Connect上发现了这个错误,它似乎正好描述了这个问题(除了使用关键帧动画而不是转换).状态:"已解决为延期".该死的,IE.
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<section id="body-container">
<div id="left">
<div id="nav">
<h1>Nav</h1>
<a href="#right">
Close
</a>
<a href="#">
Open
</a>
</div>
<div id="left-content">
LEFT
</div>
</div>
<div id="right">
RIGHT
</div>
</section>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
减:
@nav-width: 54px;
html, body {
width: 100%;
height: 100%;
}
#body-container {
display: -ms-flexbox;
display: flex;
width: 100%;
height: 100%;
#left,
#right {
height: 100%; …
Run Code Online (Sandbox Code Playgroud) internet-explorer css3 css-transitions internet-explorer-10 internet-explorer-11
我正在尝试实现自定义log4net logger/logmanager,以便我可以添加一个新级别.我还想让目标表的模式(我使用AdoNetAppender和SQL Server 2008)有一些可选字段; 例如,我添加的级别用于跟踪使用情况,其中一个字段需要是持续时间(告诉我们需要多长时间).但是,其他级别(INFO,DEBUG,FATAL等)对于Duration不具有任何值.所以我需要能够插入表中并不是所有具有值的字段 - 最好不必重新实现所有标准级别的日志记录,以便为不相关的字段传递空值.理想情况下,对于特定日志记录事件无法找到的属性值,log4net会自动传递NULL.
我的自定义记录器中的代码如下:
public void Usage(TimeSpan? duration, DateTime? startTime, DateTime? endTime, string message)
{
if (IsUsageEnabled)
{
LoggingEvent loggingEvent = new LoggingEvent(GetType(), Logger.Repository, Logger.Name, _currentUsageLevel,
message, null);
if (startTime.HasValue)
{
loggingEvent.Properties["StartTime"] = startTime.Value;
}
else
{
loggingEvent.Properties["StartTime"] = DBNull.Value;
}
if (endTime.HasValue)
{
loggingEvent.Properties["EndTime"] = endTime.Value;
}
else
{
loggingEvent.Properties["EndTime"] = DBNull.Value;
}
if (duration.HasValue)
{
loggingEvent.Properties["Duration"] = duration.Value.TotalMilliseconds;
}
else
{
loggingEvent.Properties["Duration"] = DBNull.Value;
}
Logger.Log(loggingEvent);
}
}
Run Code Online (Sandbox Code Playgroud)
(添加了对DBNull.Value的赋值,希望这可以帮助log4net在未传递值时传递空值,但我希望它们可以被删除).
appender配置如下:
<appender name="SQLAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize …
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 Knex.js 生成如下查询:
INSERT INTO table` ("column1", "column2")
SELECT "someVal", 12345)
WHERE NOT EXISTS (
SELECT 1
FROM table
WHERE "column2" = 12345
)
Run Code Online (Sandbox Code Playgroud)
基本上,我只想在特定值不存在时插入值。但是 Knex.js 似乎不知道如何做到这一点;如果我调用knex.insert()
(没有值),它会生成一个“插入默认值”查询。
我尝试了以下方法:
pg.insert()
.into(tableName)
.select(_.values(data))
.whereNotExists(
pg.select(1)
.from(tableName)
.where(blah)
);
Run Code Online (Sandbox Code Playgroud)
但这仍然只是给了我默认值的东西。我尝试添加一个.columns(Object.keys(data))
希望insert()
能够兑现这一点,但没有运气。
是否可以使用 knex 生成我想要的查询,或者我只需要构建一个原始查询,而无需 Knex.js 方法?
我想让我的单元测试断言特定的函数调用会在预期时抛出 AssertionError,而不是根本抛出异常。断言库(expect)通过传入异常构造函数来支持这样的事情,但我似乎无法找到导出 AssertionError 构造函数的位置(如果有的话)。它是否只是一个内部类而不暴露给我们?该文档包含对其的大量引用,但没有链接。
我有一个超级hacky的方法:
let AssertionError;
try {
const assert = require("assert");
assert.fail();
}
catch (ex) {
AssertionError = ex.constructor;
}
Run Code Online (Sandbox Code Playgroud)
但我希望有更好的方法。
我有一些地方,我有一个泛型类型参数,不仅限于类(或结构),当我尝试比较该类型的变量时null
,Resharper强调它,抱怨我可能正在比较值类型null
(有效的反对意见,确定).在与null进行比较之前,是否有一种可接受的检查变量是否为值类型的方法?
例如:
public TObject MyProperty { get; set; }
...
private void SomeMethod()
{
if(MyProperty == null) //Warning here
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在做 - if(!(MyProperty is ValueType) && MyProperty)
这有效吗?它没有摆脱警告,但这并不一定意味着什么.
我想从 Sequelize 中多对多关系的连接表中选择 ID,并根据端点之一限制结果。例如:
ModelA:
- id
- deleted_at
- is_expired
ModelB:
- id
- deleted_at
- is_active
ModelAToModelB:
- a_id
- b_id
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情
SELECT id FROM ModelAToModelB ab INNER JOIN ModelB b ON ab.b_id = b.id WHERE ab.id = someA_ID AND b.deleted_at IS NULL;
Run Code Online (Sandbox Code Playgroud)
我目前正在做类似的事情
const ModelB = require("./modelb")
const ModelAToModelB = require("./modelatob");
ModelAToModelB.findAll({
where: { id: someA_ID },
include: [
{
model: ModelB,
where: { deleted_at: null }
}
]
})
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但除此之外ModelB
,当我想要的只是ModelAToB.id
.
有什么办法可以报废ModelB …
使用 Cypress.io,有没有办法检查元素的位置?我有一个问题,在某些情况下,存在滚动条不断添加和删除的错误,导致页面边缘“抖动”,我希望能够编写测试以查看是否发生这种情况断言元素的位置在出现后不会改变。我在文档中没有看到关于这种断言的任何内容。
我想在formset中自定义表单的布局(也就是说,我不想使用.as_table()或.as_p()等).我正在尝试获取表单字段的名称以用于其标签的for
属性,但我不确定如何去做.我希望我不需要从头开始为该字段构建新的名称/ ID.这是我现在正在使用的一个例子:
{% for form in formset.forms %}
<!-- The field for the "path" form field -->
<label for="{{what do I put here?}}">{{form.fields.path.label}}:</label><input type="text" id="{{django creates this one; do I have to do my own with the for loop counter or something?}}" name="{{probably the same as id}}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
是否有任何类型的"为formset字段创建ID"的方法?
javascript ×3
css3 ×2
node.js ×2
.net ×1
assertion ×1
c# ×1
css ×1
cypress ×1
django ×1
django-forms ×1
ecmascript-6 ×1
expect.js ×1
generics ×1
knex.js ×1
merge ×1
orm ×1
sequelize.js ×1
subclass ×1
tfs ×1
unit-testing ×1