小编Meh*_*oha的帖子

ngFor中的Angular2 ngModel

我试图从我的输入绑定一个字符串数组,所以在html文件中我写了这个:

<div *ngFor="let word of words; let in=index" class="col-sm-3">
      <div class="form-group">
        <input type="text" [(ngModel)]="words[in]"  class="form-control" [attr.placeholder]="items[in]" required>
      </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

但是这没有按预期工作,因为当我记录单词变量时,它显示在我的Component类中初始化的空数组.另外,我应该记录来自另一个组件的变量应该是我的问题的问题.我有两个组成部分:

  • 包含查询组件数组的表单组件.
  • 具有单词字符串数组的查询子组件.

因此,单词变量被声明到查询组件中,但我通过表单组件记录此变量,如下所示:

console.log(JSON.stringify(this.queries));
Run Code Online (Sandbox Code Playgroud)

虽然查询是表单组件中的Query数组:

queries:Query[] = [];
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

data-binding angular2-ngmodel angular

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

为什么 angular 会在 app-root html 标签中添加 ng-version 属性

今天,我注意到 Angular 在 app-root 中添加了它的版本信息,如下所示:

<app-root _nghost-c0="" ng-version="5.2.0">
Run Code Online (Sandbox Code Playgroud)

甚至当我在生产环境中构建时,它似乎也存在。我不知道在那里添加该信息的主要目标是什么?公开显示角度版本不是一个安全问题吗?谢谢

html security angular

8
推荐指数
2
解决办法
2927
查看次数

GCP IAP 您的请求有问题。错误代码11

我为 AppEngine 配置了 Google Cloud IAP,然后,当我尝试访问我的应用程序时,我登录到我的 Google 帐户,并被重定向到以下网址:

project-id.appspot.com/_gcp_gatekeeper/authenticate?state=long-state-string&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email&authuser=2&hd=domain.com&session_state=a23b09e8ae90697d931d96068fdcf163a7a71010..9268&提示=同意

该页面仅显示以下错误,其他均不重要:

There was a problem with your request. Error code 11
Run Code Online (Sandbox Code Playgroud)

尝试到处寻找日志但徒劳无功。@马修萨克斯你有什么想法吗?

google-app-engine google-cloud-platform google-iap

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

在生成器上使用扩展语法时为什么不检索返回值

我期望 4 成为序列数组的一部分,为什么它被跳过了?

function* generate() {
  yield 1;
  yield 2;
  yield 3;
  return 4
}
let sequence = [...generate()];
console.log(sequence); // 1, 2, 3
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming generator ecmascript-6 spread-syntax

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

ImportError:没有名为google.oauth2的模块

我想在我的项目中添加一个google.cloud.storage依赖项,因此我尝试使用

pip install --upgrade google-cloud-storage

使用dev_appserver再次运行我的应用程序,它向我显示我的gcloud组件需要更新.好的,gcloud components update

在我的src/__init__.py文件中,我得到的代码告诉gcloud在哪个文件夹中查找依赖项,如下所示:

from google.appengine.ext import vendor

vendor.add('src/libs')
Run Code Online (Sandbox Code Playgroud)

除了我收到错误之外,所有依赖项都已正确安装 ImportError: No module named google.oauth2

PS:我的应用正在使用OAuth2来保护对API的访问.在我进行组件更新之前它工作正常,现在即使我回滚代码,删除libs文件夹并再次安装依赖项,我仍然得到No模块错误,似乎dev_appserver没有在libs中寻找那个依赖项文件夹!

这是结果gcloud --version:

Google Cloud SDK 188.0.1
app-engine-python 1.9.66
app-engine-python-extras 1.9.63
bq 2.0.28
core 2018.02.08
gsutil 4.28
Run Code Online (Sandbox Code Playgroud)

这是追溯:

Traceback (most recent call last):
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
    __import__(cumulative_path)
  File "/home/headless/Documents/Projects/meterFleet/app-backend/src/main.py", line 5, in …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine google-cloud-platform google-cloud-sdk

6
推荐指数
3
解决办法
8858
查看次数

Angular 6使用angular.json文件中的链接URL添加外部远程第三方javascript文件

我想在我的Angular 6项目中包含Google Maps API,因此当我在文档中包含给定的链接时:https://maps.googleapis.com/maps/api/js?key = YOUR_API_KEY&callback = initMap to my project index .html页面(当然使用生成的api键),它的效果非常好.但我想知道是否没有更好的地方放置该javascript文件,以便webpack可以处理它并将其与供应商文件捆绑?

我尝试在angular.json文件中将url放入,projects > projectName > architect > build > options > scripts and assets但两者都引发了一个错误,因为angular正在查找本地路径...因此无法识别http网址.是否可以在angular cli config json文件中包含外部脚本文件?

webpack angular-cli angular

6
推荐指数
0
解决办法
916
查看次数

x-goog-iap-generated-response 标头是什么意思?

我正在尝试连接到 Google AppEngine 上的 IAP 安全服务,当我对我的服务帐户进行身份验证时,我收到来自服务器的 401 Unauthorized 响应,并且在标头中我将x-goog-iap-generated-response标头设置为 true。这是否意味着 IAP 授权了通信并且是服务器不允许我与之通信还是什么?

google-app-engine google-cloud-platform google-iap

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

Angular 5 ngOnChanges仅在子组件中触发一次

我有一个包含复杂输入(一些图表数据)的子组件.在获得API响应后,我通过Angular 5中的@Input()装饰器从父组件发送此图表数据.因此,每次在父组件上更改时,我都需要根据API响应同步图表,因此,OnChange Lifecyle.但不幸的是,我无法使其正常工作.我尝试设置一个具有基本数字类型的虚拟输入字段并增加它但是徒劳无功.这是我的实现:

儿童图表组件:

export class ChartComponent implements OnInit, OnChanges {

  @Input() chartData;
  @Input() triggerChart;

  ngOnChanges(changes: SimpleChanges) {
    console.log(changes);
  }

}
Run Code Online (Sandbox Code Playgroud)

父组件html:

<app-chart [chartData]="chartData" [triggerChart]="triggerChartData"></app-chart>
<input [(ngModel)]="triggerChartData" type="hidden">
Run Code Online (Sandbox Code Playgroud)

父组件:

this.chartService.getChartData(params).subscribe(res => {
  this.chartData = res;
  this.triggerChartData++;
});
Run Code Online (Sandbox Code Playgroud)

PS:作为标题的ngOnChanges仅指示在组件使用未定义值初始化时触发一次.

lifecycle onchange typescript angular

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

在生产中运行端到端测试是否值得?

如何在生产中实施e2e而又不破坏数据库的一致性?想象一下,我们需要测试的场景是一个用户注册。如果我们在生产中运行此测试,它将每次创建一个假用户。

难题在于端到端测试非常重要,我们有更大的灵活性在分阶段环境中运行它们。但是,在生产中,我们遭受数据一致性低的困扰,并且无法检测到特定于生产的错误。因此,是否有一种方法可以在生产中正确实施端到端测试,还是应该在阶段进行测试?提前致谢

testing automated-tests production-environment e2e-testing devops

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