小编Soc*_*tes的帖子

Angular 2中存在哪些循环类型?

Angular 2中存在哪些循环类型?

我只能找到forforeach,但我无法找到任何其他的.某个地方有名单吗?

某处有例子吗?这将有助于非常强烈地理解.

[编辑]:我基本上寻找的是Angular 2中所有不同循环类型的列表.

[编辑2]:我真正的意思是模板部分中特定于Angular 2的循环(对不起,我不知道有这么多的可能性).举一个*ngFor的例子:

<ul class="contacts">
  <li *ngFor="#contact of contacts"
      (click)="onSelectContact(contact)"
      [class.selectedContact]="contact === selectedContact">
    <span class="badge">{{contact.id}}</span> {{contact.name}}
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

loops angular

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

带有问号的通用列表类型

我无法解释/理解Java List的泛型类型:

List<? extends Command> myVar = client.performAction(actionParams);
Run Code Online (Sandbox Code Playgroud)

如何? extends Command调用泛型类型,就像它有一个名称一样?究竟是什么类型的?它是一个Command对象吗?或者这是否意味着它只接受扩展的类Command?使用这种结构有什么优势?在什么Java版本中集成了这种类型的构造?

java

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

限制对Docker容器的Internet访问?

在仍然转发端口的同时限制对单个docker容器的Internet访问的最佳方法是什么?

我目前这样做的方式是这样的:

sudo docker network create --internal --subnet 10.1.1.0/24 no-internet
sudo docker run --name gitlab -d -p 80:80 -p 822:22 --restart always gitlab/gitlab-ce
sudo docker network connect no-internet gitlab
sudo docker network disconnect bridge gitlab
Run Code Online (Sandbox Code Playgroud)

问题是,如果我重新启动系统,端口将不再转发:

sudo docker ps 重启之前:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                             PORTS                                              NAMES
2d2a062744ec        gitlab/gitlab-ce    "/assets/wrapper"   13 seconds ago      Up 13 seconds (health: starting)   0.0.0.0:80->80/tcp, 443/tcp, 0.0.0.0:822->22/tcp   gitlab
Run Code Online (Sandbox Code Playgroud)

sudo docker ps 重启后:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
2d2a062744ec        gitlab/gitlab-ce    "/assets/wrapper"   12 minutes …
Run Code Online (Sandbox Code Playgroud)

docker

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

TypeScript变量名称作为接口类型?

我有一段TypeScript代码,我很难理解.我是TypeScript的新手.

export const TerminalWidgetOptions = Symbol("TerminalWidgetOptions");
export interface TerminalWidgetOptions {
    endpoint: Endpoint.Options,
    id: string,
    caption: string,
    label: string
    destroyTermOnClose: boolean
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我上面的代码究竟发生了什么?我所理解的是,名字的接口TerminalWidgetOptions被创建,它迫使参数endpoint,id,caption,labeldestroyTermOnClose在实施成一类.我虽然不太了解上述内容.所以,显然创建了一个常量,只能设置一次然后保持这种状态,对吧?但是这个常量怎么能和接口类型同名呢?任务Symbol("TerminalWidgetOptions");很明确.来自Symbol函数的内容被放入常量中.

这或多或少是正确的吗?

typescript

6
推荐指数
2
解决办法
1158
查看次数

Angular 6 使用 Access-Control-Allow-Origin 访问 REST 失败

因此,我尝试使用http: HttpClientfrom将来自 REST 源的数据加载到我的 Angular 6 应用程序中'@angular/common/http'。使用ng serve --open虽然在浏览器中调用应用程序并不能完成这项工作。我认为 CORS 是这里的问题。我想我要么必须设置服务器或客户端标头Access-Control-Allow-Origin或其他东西,但我已经尝试了多种方法,但没有成功使这个简单的 REST 调用工作。所以下面是我编码的内容。

在浏览器中调用 Angular 应用会响应以下错误:

Failed to load http://localhost:8080/mysite-backend/rest/report/single/d83badf3: 
Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested 
resource. Origin 'http://localhost:4200' is therefore not allowed 
access.
Run Code Online (Sandbox Code Playgroud)

http://localhost:8080/mysite-backend/rest/report/single/d83badf3不过,在 Chrome 浏览器中调用相同的 URL ( ) 效果很好:

{"id":"d83badf3","language":"en","categoryId":"a5","title":"Simcity","created":1527723183880,"modified":1527723183880}
Run Code Online (Sandbox Code Playgroud)

在 Angular 6 中,我使用了以下由ng generate service tour. 在其中,我创建了一个方法getTour(id: string),它只在 URL 上调用 REST,并将检索到的 JSON 字符串作为 …

java rest web-services cors angular

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

在 TypeScript 中创建一个 HTMLHeadingElement

我正在尝试创建一个HTMLHeadingElement. 为此,我使用:

const myHeading: HTMLHeadingElement = document.createElement("h3");
Run Code Online (Sandbox Code Playgroud)

所以这很完美。但是当我尝试更动态地创建这个元素时,我失败了:

const level: number = 3;
const headingLevel: string = "h" + level;
const myHeading: HTMLHeadingElement = document.createElement(headingLevel);
Run Code Online (Sandbox Code Playgroud)

所以,它看起来本质上是一样的,但显然不是。悬停时出现的错误myHeading是:

类型“HTMLElement”不可分配给类型“HTMLHeadingElement”

但是,在第一个示例中,该方法createElement("h3")立即返回 type HTMLHeadingElement

现在,我的第一个问题是,这两个命令有何不同?如果不清楚,如何myHeading在第二个示例中获得与第一个示例中相同的结果?

typescript

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

Electron Forge 与 SASS

我使用 Electron Forge 作为 Electron 应用程序。我还使用 React 和 TypeScript,我也想使用 SASS,但我目前的尝试失败了。显然 SASS 已经可以工作,无需添加任何新的依赖项package.json,aselectron-compile就可以解决这个问题。这就是Electronforge.io上Develop下的内容。

我尝试在第一个 TypeScript 类中添加style.scss作为导入app.tsx,但添加此编译后不再起作用:

import "./style/style.scss";
Run Code Online (Sandbox Code Playgroud)

导致:

[24717:0221/194746.779571:ERROR:CONSOLE(7830)] "Extension server error: Object not found: <top>", source: chrome-devtools://devtools/bundled/shell.js (7830)
Run Code Online (Sandbox Code Playgroud)

我还尝试将一个link元素放入head中的元素中index.html,但这也不起作用。编译工作正常,但 CSS 工作尚未完成:

<link rel="stylesheet" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)

还尝试过:

<link rel="stylesheet" type="text/css" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)

和:

<link rel="stylesheet" type="text/scss" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)

和:

<link rel="stylesheet" type="text/sass" href="style/style.scss">
Run Code Online (Sandbox Code Playgroud)

“style.scss”文件:

body {
    background-color: #ff0000;
    color: #0000ff;
}
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。我必须做什么才能在 Electron Forge 中使用 SASS …

css sass electron electron-forge

5
推荐指数
2
解决办法
9753
查看次数

影响 Material UI 控件的 Tab 键顺序

我有一个使用 React 和 Material UI 构建的应用程序。在一个视图中可以有多个文本字段和多个按钮。现在,当我将焦点放在一个文本字段上然后按下时,Tab我无法可靠地预测哪个控件将成为下一个获得焦点的控件。我想首先浏览所有文本字段,然后再浏览所有按钮。

在此处输入图片说明

<DialogContent>
    <DialogContentText>
        The username and password that were used are incorrect. Please provide the correct credentials in order to login to the API.
        <Stepper activeStep={this.state.credentialsStep} orientation='vertical'>
            {
                this.steps.map((label, index) => (
                    <Step key={label}>
                        <StepLabel>{label}</StepLabel>
                        <StepContent>
                            <Typography>{this.stepContent[index]}</Typography>
                            {this.stepAction[index]}
                            <Grid container direction='row' className='m-t-26'>
                                <Button color='primary'
                                        onClick={() => {
                                    this.state.credentialsStep === 0 ? this.onClickCancel() : this.onClickBack();
                                }}>
                                    {this.state.credentialsStep === 0 ? 'Cancel' : 'Back'}
                                </Button>
                                <Button variant='contained'
                                        color='primary'
                                        onClick={() => {
                                    this.state.credentialsStep === this.steps.length - …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

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

节点 MySQL 连接池 - 等待数据库启动

如何检查 MySQL 数据库是否已准备好接受来自 Node MySQL 连接池的某些查询?

我有一个由三个容器组成的 Docker 环境:

  • 容器1:网络服务器
  • 容器2:api
  • 容器3:数据库

数据库容器运行 MySQL 数据库。api 容器连接到该数据库。所有三个容器同时启动。Web 服务器容器在 0.5 秒后启动。2 秒后 api 容器启动。20秒后数据库服务器启动。

目前,API 会在数据库启动并运行之前尝试访问数据库的表。这会导致诸如连接被拒绝之类的错误。以下代码段始终以消息“查询数据库时出错!”结束。当MySQL数据库尚未启动时:

const sql: string = 'SELECT * FROM sometable;';
MySQL.createPool({
    connectionLimit: 10,
    acquireTimeout: 30000,
    waitForConnections: true,
    database: 'mydatabase',
    host: 'localhost',
    multipleStatements: true,
    password: 'mypassword',
    user: 'root',
}).query(sql, (err, result) => {
    if (result) {
        console.log('Successfully queried database.');
    } else {
        console.log('Error querying database!');
    }
});
Run Code Online (Sandbox Code Playgroud)

使用中的版本:

OS: Ubuntu 19.10
Node: v13.6.0
MySQL (Node API): "@types/mysql": …
Run Code Online (Sandbox Code Playgroud)

mysql connection-pooling node.js

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

解决或消除 tsconfig.json 中的模式匹配错误

如何解决/消除 Visual Studio Code 中显示的模式匹配错误?

在我的 TypeScript 应用程序中,我在文件中收到错误tsconfig.json,提到由于某个模式的匹配而找不到 index.ts **/*。该应用程序仍然可以编译并运行,没有任何问题。该错误仅显示在 Visual Studio Code 中。为了编译应用程序,我使用 Webpack,其中我定义了 和index.tsxfile 作为入口点,而不是index.ts文件。

在此输入图像描述

webpack.config.js:

const path = require('path');

module.exports = {
  entry: './src/main/ts/index.tsx',
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
    ],
  },
  resolve: {
    extensions: ['.tsx', '.ts', '.js'],
  },
  output: {
    path: __dirname,
    filename: './src/main/resources/static/built/bundle.js'
  },
};
Run Code Online (Sandbox Code Playgroud)

package.json 依赖项:

  "dependencies": {
    "@types/lodash": "^4.14.182",
    "@types/react": "^18.0.14",
    "@types/react-dom": "^18.0.5",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "rest": "^1.3.1",
    "sockjs-client": …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

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