小编And*_*rit的帖子

Chrome - 在将元素添加到 *ngFor 视图时始终向下滚动到最后一个元素

我有一个带有视频列表的简单页面。在页面底部,我有“加载更多”按钮。如果用户单击该按钮,我会发出 http 请求并将数据添加到现有的视频数组中。

简化代码如下所示:

成分:

export class AppComponent implements OnInit {
  public videoList = [];

  constructor(private appService: AppService) {}

  public ngOnInit(): void {
    this.loadVides();
  }

  public loadMore(): void {
    this.loadVides();
  }

  private loadVides(): void {
    this.appService.loadVideos().subscribe((videos) => {
      this.videoList = [...this.videoList, ...videos];
      console.log('Data was loaded');
    })
  }

}
Run Code Online (Sandbox Code Playgroud)

模板:

<div *ngFor="let video of videoList">
  <div style="height: 100px;">{{video.name}}</div>
</div>  


<div class="d-flex justify-content-center mt-2 mb-4">
  <button class="btn btn-outline-danger btn-lg" (click)="loadMore()">Load more...</button>
</div>
Run Code Online (Sandbox Code Playgroud)

有什么问题:

在加载更多项目后,Firefox 页面不会滚动,所以我看到了第一个新项目。在 chrome 中,页面会滚动到最后,所以我再次看到了最后一个新项目和“加载更多”按钮。

演示:

https://stackblitz.com/edit/angular-ivy-quwfxx?devtoolsheight=33&file=src/app/app.component.html

css google-chrome twitter-bootstrap bootstrap-4 angular

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

带有特定标头的 REST API 上的 HTTP POST 请求 [PHP]

我需要发送一些数据来休息网络服务。我已经尝试模拟后端 API 正常工作,但我只是不知道如何通过 HEADER 授权该 API。

在标题中应该有一个: Authorization设置Bearer token

这是我确实尝试过但没有任何成功的方法。

$host = "www.example.com";
$path = "/path/to/backend";
$arr = array('caseNumber' => '456456787');
$data = json_encode($arr);
$token = "ThisIsSomeLongToken";

header("POST ".$path." HTTP/1.1\r\n");
header("Host: ".$host."\r\n");
header("Content-type: application/json\r\n");
header("Authorization: Bearer ".$token." \r\n");
header("Content-length: " . strlen($data) . "\r\n");
header("Connection: close\r\n\r\n");
header($data);
Run Code Online (Sandbox Code Playgroud)

我是 PHP 网络服务的新手,所以我什至不知道这是否正确,但它不会引发任何错误,也不会对网络服务做任何事情。

我可以希望在带有标题的 PHP REST API 中取得一些领先吗?谢谢

php

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

TypeORM 对表进行 COUNT 查询,将两个表映射在一起

我有两个实体ModelVideo主要Video存储有关视频的信息和Model有关模型的信息。因为每个视频可以有多个模型,每个模型可以有多个视频实体,如下所示:

我的实体和表格是什么样子的:

// Video Entity
@Entity()
export class Video {
  @PrimaryGeneratedColumn()
  id?: number; 

  @Column({ charset: 'utf8mb4', collation: 'utf8mb4_unicode_ci' })
  name: string;

  @Column({ type: 'text', charset: 'utf8mb4', collation: 'utf8mb4_unicode_ci' })
  description: string;

  @ManyToMany((type) => Model)
  @JoinTable()
  models: Model[];
}


// Model Entity
@Entity()
export class Model {

  @PrimaryGeneratedColumn()
  id?: number; 

  @Column()
  name: string;

  @Column()
  code: string;
}
Run Code Online (Sandbox Code Playgroud)

由于模型和视频之间存在关系,@ManyToManyTypeORM 还创建了一个额外的表来连接这两者。表名称是video_models_model,它看起来像这样:

+-----------+---------+
| videoId   | modelId |
+===========+=========+
| 1         | …
Run Code Online (Sandbox Code Playgroud)

mysql database typeorm nestjs

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

Bootstrap 弹出框样式

有没有办法如何从 boostrap 设置弹出窗口的样式?
演示如下:

<body>
<script> $(function () { $('[data-toggle="popover"]').popover() }) </script>
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="This should be styled">Button</button>
</body>
Run Code Online (Sandbox Code Playgroud)

http://fiddle.jshell.net/97tmrqf0/1/

我想要做的是:使弹出窗口具有以下 HTML:

<div class="col-sm-3 col-md-3">
  <div class="panel-group" id="accordion">
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <span data-toggle="collapse" data-parent="#accordion" href="#collapseOne"><span class="glyphicon glyphicon-folder-close">
            </span>Výbava vozidla</span>
        </h4>
      </div>
      <div id="collapseOne" class="panel-collapse collapse in">
        <ul class="list-group">
          <li class="list-group-item"><span class="glyphicon glyphicon-ok text-success"></span>LOKÁTOR/KAMERA</li>
          <li class="list-group-item"><span class="glyphicon glyphicon-ok text-success"></span>SPORTOVNÍ SEDADLA</li>
          <li class="list-group-item"><span class="glyphicon glyphicon-ok text-success"></span>ALARM</li>
          <li class="list-group-item"><span class="glyphicon glyphicon-ok text-success"></span>UPEVN D?T-SEDA?KY</li> …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery twitter-bootstrap

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

量角器 - 如何将每个测试分成一个文件和单独的变量

我写了一些komplex量角器测试,但一切都在一个文件中.我在它的顶部装载所有变量,如:

var userLogin = "John"; 
Run Code Online (Sandbox Code Playgroud)

然后在代码中的某个地方我一起使用它.

我需要做的是1.将所有变量文件分离到aditional文件(一些配置文件)2.每个测试到一个文件

1-我尝试使用config.js添加所有变量,我在protractor.conf.js中需要它正确加载问题是当我在某些测试中使用任何变量时它不起作用(测试失败,"userName is未定义")我知道有一种方法可以在每个测试脚本中查询config.file,但这在我看来并不是最好的选择.

2-如果它是独立的,我怎么知道我在最后一个脚本中做了什么,例如如何知道我已经登录?

谢谢.

testing end-to-end protractor

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

上传文件 - 量角器

我与量角器打架,因为对于一些测试我需要UPLOAD文件.我的HTML看起来像:

<div class="panel-footer">
    <ul class="list-unstyled">
      <!-- ngRepeat: file in imagesToUpload -->      
    </ul>
    <button class="btn btn-sm btn-success pull-right ng-binding ng-hide" ng-show="imagesToUpload.length" ng-click="uploadImages()">Nahrát na server</button>
    <button class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" style="overflow: hidden;">Vybrat soubory<input type="file" class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" multiple="multiple" __wrapper_for_parent_="true" style="width: 1px; height: 1px; opacity: 0; position: absolute; padding: 0px; margin: 0px; overflow: hidden;"></button>
  </div>
Run Code Online (Sandbox Code Playgroud)

输入HTML:

<input type="file" class="btn btn-sm btn-primary ng-binding" ng-file-select="onImageSelect($files)" data-multiple="true" multiple="multiple" __wrapper_for_parent_="true" style="width: 1px; height: 1px; opacity: 0; position: absolute; padding: 0px; margin: 0px; …
Run Code Online (Sandbox Code Playgroud)

javascript testing selenium end-to-end protractor

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

PHP / MySQL - 从实际 gps 坐标查找半径 500 米内的所有项目

我正在根据 GPS 坐标对同一位置的价格进行一些比较。所以例如我有一个带坐标的项目:

lat: 45.815005 
lng: 15.978501
Run Code Online (Sandbox Code Playgroud)

我想在我的 MySQL 数据库中搜索在那个地方周围 500 米的每个项目。(它不需要是圆形的,只需 500 米,双向X500 米Y)。Latlng存储为单独的列类型float(10,6)在我的数据库中

我知道计算精确的 lng 和 lat 并不容易,但如果我错过了每个站点几米,我就没事。

这是一个非常复杂的问题,但我会感谢任何能开启我开始的建议。

php mysql

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

MySQL - 具有一个变量变化的SAME查询需要更长时间的10倍

我有MySQL DB,我总是问同样的"问题",我改变的只是查询中的VIN变量.

更具体地说,我向你展示了2个查询:第一个有VIN:(U5YFF24128L064909需要0.0002秒)

SELECT  c.vin, c.case_id, c.claimnumber, c.platenumber, c.axrmrs_id,
        c.insurer_memberid, c.country, c.date_created, c.totalloss,
        c.lastcalc_manufacturer_code, c.lastcalc_model_code, c.lastcalc_submodel_code,
        c.audavin_triggered, c.accident_date, c.registration_date,
        c.manufacturing_year, cl.spareparts, cl.totalcosts, cl.laborhours,
        cl.laborcosts, cl.calculationdate, cl.paintlabor, cl.paintmaterial,
        cl.currency, car.manufacturer, car.model, car.submodel,
        IFNULL(org.name, 0) as orgName, GROUP_CONCAT(DISTINCT IF(po.repairmethod LIKE 'L%',
                       po.text,NULL)
            ORDER BY  1) AS textL, GROUP_CONCAT(DISTINCT IF(po.repairmethod = 'E',
                       po.text,NULL
                          )
            ORDER BY  1) AS textE , GROUP_CONCAT(DISTINCT IF(po.repairmethod != 'E'
                      OR  (po.repairmethod = 'E'
                              AND  po.guidenumber = 'N/A'
                          )
                      AND  po.repairmethod NOT LIKE 'L%',po.text, NULL
                          )
            ORDER …
Run Code Online (Sandbox Code Playgroud)

mysql optimization caching

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

正则表达式将非十进制数变为十进制(添加 .00)

我有一个用户输入,用户可以在其中编辑某物的价格。为了保持数据一致性,我想在前端站点上操作该字符串。

我想做的是:

1234 to 1234.00
12.3 to 12.30
12,3 to 12.30
1234.45 to 1234.45
Run Code Online (Sandbox Code Playgroud)

所以基本上,

  1. 用点替换逗号,这应该可以很容易地完成,例如:

    str.replace(',', '.');
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果数字不是十进制,则添加点,并且始终更改两个数字的位数(因此如果需要,请添加 0)我尝试执行以下操作:

    priceByUser = priceByUser.replace(/^\d*\.?\d*$/, "$1\.00");
    
    Run Code Online (Sandbox Code Playgroud)

不幸的是,这甚至没有像我预期的那样工作。

有人可以帮助我解决这个问题吗?谢谢

javascript regex

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