小编Alb*_*ats的帖子

angular 2 - 具有injectToken依赖关系的模拟组件

我试图在其中包含子组件的组件中进行一些测试:

这是父组件模板:

<header></header>
<snackbar></snackbar>
Run Code Online (Sandbox Code Playgroud)

当我尝试测试父组件时,这个snackbar组件给我带来了问题:snackbar组件与injectToken有一个依赖关系,用于将组件所需的appConfig(一些常量)传递给组件.appConfig注入了snackbar组件,如下所示:

import { APP_CONFIG, AppConfig } from '../../../../app.config';

export class SnackbarComponent implements OnInit {

  private config: MdSnackBarConfig;

  constructor(
    @Inject(APP_CONFIG) config: AppConfig
  ) {
    let snackBarConfig = new MdSnackBarConfig();
    this.config = snackBarConfig;
  }
}
Run Code Online (Sandbox Code Playgroud)

父组件测试良好,但是当尝试解决snackbar组件依赖时,它失败,因为它无法找到injectToken依赖项的提供程序.

我想解决这个问题的一个正确的方法是嘲笑零食吧组件,我没有发现任何有效的方法.

任何帮助,将不胜感激.谢谢

testing mocking jasmine angular

6
推荐指数
1
解决办法
2936
查看次数

将php数组传递给jquery函数

我有一个带有表单的页面,用来填写客户信息.我将以前的客户数据存储在php数组中.使用下拉列表,用户可以使用我存储的数据填写表单.

我所拥有的是一个jquery函数,当值发生变化时触发,在函数内部我想用我存储的数据更新表单值(在我的php数组中).

问题是我不知道如何将我的php数组传递给jquery函数,任何想法?

这是我填充数组的方式:

$contador_acompanantes = 0;

foreach ($acompanantes->Persona as $acomp) 
{
  $numero = $acomp->Numero;
  $apellidos = $acomp->Apellidos;
  $nombre = $acomp->Nombre;

  $ACOMPANANTES[$contador_acompanantes] = $ficha_acomp;
  $contador_acompanantes++; 
}
Run Code Online (Sandbox Code Playgroud)

得到了我的选择对象:

<select name="acompanante_anterior" id="acompanante_anterior">
<option value="1" selected>Acompañante</option>
<option value="2">acompanante1</option>
<option value="2">acompanante2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这是我的jquery函数的代码(它在同一个.php页面中)

<script type="text/javascript">
$(document).ready(function() 
{ 
$('#acompanante_anterior').on('change', function() 
    {

    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

php arrays jquery

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

更改iframe元素的值

我有一个iframe用于将文件上传到我的服务器.我想传递iframe我想要的文件名称,但我无法做到.

我在iframe中收到了这些内容:

<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
<input type="hidden" name="idProductoFormUpload" id="idProductoFormUpload"    value="test">    
<input type="submit" name="submit" value="Enviar">
</form>
Run Code Online (Sandbox Code Playgroud)

iframe元素的代码:

<iframe id="iframeUpload" name="iframeUpload" src="uploadForm.html" style="height:100px;"></iframe>
Run Code Online (Sandbox Code Playgroud)

我想要做的就是设置'idProductoFormUpload'输入的值.

我试过这个没有成功:

$('#iframeUpload').contents().find('#idProductoFormUpload').val('myValue');
Run Code Online (Sandbox Code Playgroud)

iframe jquery set

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

nodeJS 防止 res.download 超时

我对 nodeJS 服务器进行了 POST 调用,该服务器在 mongo 数据库上搜索一些数据并返回包含所请求数据的 CSV 文件。问题是数据搜索和处理超过了nodeJS默认的2分钟超时。

在不同的场景中 y 使用:

res.writeHeader(200,'application/json');            
res.write('starting fetch .... ');
Run Code Online (Sandbox Code Playgroud)

res.write('');通过不时发送一些请求来保持请求的活动状态并防止客户端超时。

现在我用来res.download()下载生成的 csv 文件,因此不仅仅是发送 JSON 作为响应。

尝试像这样使用这个解决方案:

res.writeHeader(200,'application/json');            
res.write('starting fetch .... ');
res.download()
Run Code Online (Sandbox Code Playgroud)

但我收到“标头已发送”错误。

关于如何防止数据处理和文件下载完成之前超时的想法吗?

提前致谢

timeout response download node.js express

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

设置选定的值jQuery下拉列表

我正在尝试使用jquery在下拉列表中设置所选值,我有:

 $('.option_vehiculo', '#form_login').each(function() 
{
    if (this.id == tipo_vehiculo_def)
    {
         this.value = "option";
    };  
});
Run Code Online (Sandbox Code Playgroud)

.option_vehiculo 是一个我给所有下拉列表的课程,所以我可以很快找到它们.

我遍历所有表单下拉列表,直到找到我想要修改的那个.找到我想要更改的选项工作正常,但我无法设置所选值,我尝试这样做,因为我正在使用我的输入字段:

this.value = "option";
Run Code Online (Sandbox Code Playgroud)

其中option是我的下拉列表中的一个选项,但我得到的只是我的下拉列表中没有选中的值,它只显示内部没有文本,并且可以选择我的一个可用选项.

如何设置jQuery下拉列表的选定值?


尝试:我试过这个,但我没有得到任何结果,我不确定我是否可以将'this'变量用作我想要修改的对象:

this.val("option");
Run Code Online (Sandbox Code Playgroud)

试过这个:

$('#tipo_vehiculo_1000').val("4");
var test = $('#tipo_vehiculo_1000').val();
Run Code Online (Sandbox Code Playgroud)

按ID选择我的下拉列表并尝试更改我选择的选项并稍后输出它并继续给我默认值"0".

jquery select set selected

4
推荐指数
1
解决办法
2万
查看次数

使用pymongo 3.0从mongo聚合获得结果

我正在使用python来查询mongo集合并从中检索一个值:

subquery = db.partsupp.aggregate([
    {"$match": {"r_name": region }},
        {"$group": {
            "_id" : 0,
            "minim": {"$min": "$supplycost"}
            }
        }
])
Run Code Online (Sandbox Code Playgroud)

此查询工作正常,它输出:

[{'_id': 0, 'minim': 10}]
Run Code Online (Sandbox Code Playgroud)

我现在要做的是minim从这个聚合中获取值.

最初我想要的是'if'来检查查询是否有任何结果,如下所示:

if len(subselect['result']) > 0 :
   minim = subquery['result'][0]['minim']
else: return subselect
Run Code Online (Sandbox Code Playgroud)

但这样做只会给我带来以下错误:

回溯(最近一次调用最后一次):
文件"query2.py",第195行,在
pprint中(list(query2('Catalonia',1,1)))
文件"query2.py",第72行,在query2中

if len(subquery ['result'])> 0:
TypeError:'CommandCursor'对象不可订阅

看起来subselect查询的结果不可迭代或类似的东西,我该如何解决?

我使用的是Python 3.4.3和pymongo 3.0.1.

python mongodb mongodb-query aggregation-framework

3
推荐指数
1
解决办法
3674
查看次数