小编Chr*_*ord的帖子

Angular 4服务中的数据,传递给组件

服务中有一些数据,当我将数据放在服务上的对象中时,它可以正常工作,但是现在我已经建立了数据库连接,所以数据再也无法到达组件了。

我希望该服务订阅从数据库返回的数据,并已定义如下调用:

  public setPerson(ac: string): void{
    console.log(ac);
    this.generatePerson(ac).subscribe((data) => {
        // this.mapPersonFromInput(data[0]);
        console.dir(data);
    });

  }
Run Code Online (Sandbox Code Playgroud)

mapPersonFrominput()函数是对模拟数据的保留。它本质上与下面的extractData相同,但是来自代码中的静态对象。

generatePerson看起来像这样:

public generatePerson(id: string):Observable<Person>{
    var datRetUrl: string = '/api/'
    var fullUrl: string = datRetUrl + id;
    return this.http.get(fullUrl)
                .map(this.extractData)
                .catch(this.handleError);
  }
Run Code Online (Sandbox Code Playgroud)

extractData只是将输入对象中的值分配给服务的对象结构,而handleerror只是将错误记录到控制台。

我通过从导航组件调用此函数来调用服务以在组件加载之前初始化组件的数据对象:

  passCodeToService():void{
    this.psn.setPerson(this.accessCode);
    this.route.navigate(['/name']);
  }
Run Code Online (Sandbox Code Playgroud)

在应该获取数据的实际组件中,我正在使用ngOnInit,但是我认为我应该使用ngOnChanges来初始化该组件。这是我当前正在使用的代码,但是还没有运气修复。

ngOnInit() {
  this.name =this.psn.getName();
  console.log(this.name);
}
Run Code Online (Sandbox Code Playgroud)

getName() 只需返回我存储在服务中的对象。

  public getName(): Name{
    return this.servicePerson.name;
  }
Run Code Online (Sandbox Code Playgroud)

typescript angular-services ngonchanges ngoninit angular

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

Google Drive API 和从浏览器上传文件

我正在尝试使用 Google Drive api 上传文件,并且元数据正确,并且我想确保实际的文件内容已存在。我有一个简单的页面设置,如下所示:

<div id="upload">
  <h6>File Upload Operations</h6>
  <input type="file" placeholder='file' name='fileToUpload'>
  <button id='uploadFile'>Upload File</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我有一个 javascript 设置,系统会提示用户首先登录,然后他们可以上传文件。代码如下:(目前仅上传文件元数据......)

let uploadButton = document.getElementById('uploadFile');
uploadButton.onclick = uploadFile;
const uploadFile = () => {
    let ftu = document.getElementsByName('fileToUpload')[0].files[0];
    console.dir(ftu);
    gapi.client.drive.files.create({
        'content-type': 'application/json;charset=utf-8',
        uploadType: 'multipart',
        name: ftu.name,
        mimeType: ftu.type,
        fields: 'id, name, kind'
    }).then(response => {
        console.dir(response);
        console.log(`File: ${ftu.name} with MimeType of: ${ftu.type}`);
        //Need code to upload the file contents......
    });
};
Run Code Online (Sandbox Code Playgroud)

首先,我对后端更熟悉,因此从标签中获取文件<input type='file'>对我来说有点模糊。从好的方面来说,元数据就在那里。如何将文件内容获取到 api?

javascript google-api google-drive-api

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

Docker Compose Wait til依赖项容器在启动前已完全启动

我正在使用docker-compose使用docker服务,并且我有一个依赖于花药的服务。

我使用了depends_on密钥,但是具有依赖项的服务在依赖服务完全启动之前启动。

version: '3'

services:
  KeyManager:
    image: cjrutherford/keymanager
    deploy:
      replicas: 1
    ports:
      - '3220:3220'
    networks:
      - privnet
  YellowDiamond:
    image: cjrutherford/server
    depends_on:
      - KeyManager
    deploy:
      replicas: 1
    ports:
      - '3000:3000'
    networks:
      - privnet
      - web
networks:
  privnet:
    internal: true
  web:
Run Code Online (Sandbox Code Playgroud)

这两个都是节点应用程序,要求密钥管理器在服务器启动之前运行以接受请求。我可以添加超时吗?或在应用程序中发送触发器?从经理那里获取钥匙还为时过早。

docker docker-compose

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

OpenVPN 配置无法连接到服务器

我在一台 Linux 主机上创建了一个到另一台 Linux 主机的 openvpn 连接。我相信这里可能存在配置错误或误解。我已生成客户端密钥和服务器密钥,并且 CA 已就位,但我似乎根本无法连接到服务器。服务器日志是这样的:

2020 年 6 月 29 日星期一 15:38:28 tls-crypt 解包错误:数据包身份验证失败

2020 年 6 月 29 日星期一 15:38:28 TLS 错误:来自 [AF_INET]70.15.128.216:55352 的 tls-crypt 解包失败

在客户端,我看到的是这样的:

Mon Jun 29 11:40:18 2020 TLS Error: TLS handshake failed
Mon Jun 29 11:40:18 2020 SIGUSR1[soft,tls-error] received, process restarting
Mon Jun 29 11:40:18 2020 Restart pause, 5 second(s)
Mon Jun 29 11:40:23 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]*.*.*.*:1194
Mon Jun 29 11:40:23 2020 Socket Buffers: R=[212992->212992] …
Run Code Online (Sandbox Code Playgroud)

ssl debian udp openvpn

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

从 Table Cheerio 获取文本

在处理网络抓取项目时,我无法以统一的方式获取某些数据。该页面有一个双列表,我只需要抓取第二列的文本即可运行编译值。

我正在这样做:

const rq = require('request');
const cheerio = require('cheerio');

rq(url, (err, res, html) => {
    let $ = cheerio.load(html);
    $('#table-id > tbody > tr > td.data').toArray().map(item => {
        console.log(item.text());
    });
});
Run Code Online (Sandbox Code Playgroud)

但是我收到一个.text()不是函数的错误。

javascript node.js cheerio

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

在 ASP.net Core 中将对象实例化为服务

对 Asp.Net 非常缺乏经验,我有一个类,我希望能够在某些控制器中实例化和使用该类,但我不确定如何为我的构造函数获取参数。

我有一个数据类型,我想将它用作一个名为的服务Watcher,它有一个构造函数签名,Watcher(string _path, bool _DeletionPolicy = false)它提供了一个观看文件的路径,并设置了默认的删除策略。(错误是过期后什么都不做,文件在 90 天后“过期”。)

我知道我需要在 MVC 中注册服务ConfigureServices(),但是我将如何实例化这两个(或一个必需的)参数?

c# dependency-injection asp.net-core asp.net-core-webapi

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

带有护照 jwt 的非对称密钥。验证始终返回未经授权

在开发应用程序时,我从一开始就希望安全,因此我创建了一个私钥/公钥对,并且设置passport-jwt如下:(key是密钥对的公共部分)

(passport, key) => {
  const opts = {
    jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
    secretOrKey: key
  };
   passport.use(
     new JwtStrategy(opts, (payload, done) => {
       log.info({message: 'verifying the token', payload});
       User.findById(payload.id)
         .then(user => {
           if (user) {
             return done(null, {
               id: user._id,
               name: user.userName,
               email: user.emailAddress
             });
           }
           log.info(payload);
           return done(null, false);
         })
         .catch(err => {
           log.error(err)
           return done('Unauthorized', false, payload);
          });
     })
   );
};
Run Code Online (Sandbox Code Playgroud)

当用户登录时,我使用私钥对令牌进行签名,如下所示:

router.post('/login', (req, res) => {
        const email = req.body.email;
        const password = req.body.password;

        User.findOne({ …
Run Code Online (Sandbox Code Playgroud)

node.js passport-jwt

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

尝试了解 NGx-Bootstrap datepicker 组件

我在理解日期选择器组件的文档时遇到一些困难。

日期选择器文档

我的理解是:

  • [(bsValue)]应该设置为控制器上我想用 Date 对象填充的变量
  • bsDatepicker是使其成为日期选择器的指令

我不明白的是:

  • #dp=bsDatepicker这是做什么的
  • (click)=dp.toggle()抛出有关调用未定义的属性切换的错误,但它确实有效!

我确实知道这个规范不是最终的,但是这些属性是什么以及它们应该做什么?

datepicker twitter-bootstrap ngx-bootstrap angular

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

React-Redux Action:'Dispatch'不是一个函数

首先还是要习惯Redux。我有一个组件,应该只加载数据以在加载该组件时显示。我在商店中安装了Redux:

//store.js
import { createStore, applyMiddleware, compose } from 'redux';

import logger from 'redux-logger';
import thunk from 'redux-thunk';
import root from './reducers';

const middleware = [thunk, logger];

const initState = {};

const store = createStore(
  root,
  initState,
  compose(
    applyMiddleware(...middleware),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);

export default store;
Run Code Online (Sandbox Code Playgroud)

以及完整的组合减速器文件中需要的所有减速器:

//{projectFolder}/reducers/index.js
import { combineReducers } from 'redux';

import authReducer from './authReducer';
import errorsReducer from './errorReducer';
import suggestionReducer from './suggestionReducer';
import insiderReducer from './insiderReducer';
import connectionReducer from './connectionReducer';
import outsiderReducer from './outsiderReducer';
import …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux

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