小编Son*_*oor的帖子

如何正确使用服务在组件之间共享数据?

我正在学习angular2,并且能够使用输入/输出在兄弟组件之间共享数据.

是我的工作范例.

//our root app component
import {Component, NgModule} from '@angular/core'
import {BrotherComponent} from './brother.component'
import {SisterComponent} from './sister.component'
import {BrowserModule} from '@angular/platform-browser'
import {FormsModule, ReactiveFormsModule} from '@angular/forms'

@Component({
  selector: 'my-app',
  template: `
    <div>
      <h2>Hello {{name}}</h2>
      <brother (onChange)="handleBrotherEvent($event)" [dataFromSister]="dataFromSister"></brother>
      <sister (onChange)="handleSisterEvent($event)" [dataFromBrother]="dataFromBrother"></sister>
    </div>
  `,
})
export class App {
  name:string;
  constructor() {
    this.name = 'Angular2'
  }

  handleBrotherEvent(data)
  {
    this.dataFromBrother = data;
    console.log("called from handleBrotherEvent in app", data); 
  }

  handleSisterEvent(data)
  {
    this.dataFromSister = data;
    console.log("called from sister handleSisterEvent in app", …
Run Code Online (Sandbox Code Playgroud)

angular

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

EVP_DecryptFinal_ex:使用Node.js时解密不良

使用以下节点js:

var crypto = require('crypto');
var encrypt = function (input, password, callback) {
    var m = crypto.createHash('md5');
    m.update(password);
    var key = m.digest('hex');

    m = crypto.createHash('md5');
    m.update(password + key);
    var iv = m.digest('hex');
    console.log(iv);

    var data = new Buffer(input, 'utf8').toString('binary');

    var cipher = crypto.createCipheriv('aes-256-cbc', key, iv.slice(0,16));
    var encrypted = cipher.update(data, 'binary') + cipher.final('binary');
    var encoded = new Buffer(encrypted, 'binary').toString('base64');
    callback(encoded);
};

var decrypt = function (input, password, callback) {
    // Convert urlsafe base64 to normal base64
    input = input.replace(/\-/g, '+').replace(/_/g, '/'); …
Run Code Online (Sandbox Code Playgroud)

encryption openssl cryptography node.js node-crypto

9
推荐指数
2
解决办法
7954
查看次数

使用默认值重置表单

在我的角度应用程序中,我将 Id 的默认值添加为0。但是当用户重置表单时,它会被清除。

如何重置表单并保留默认值?

这是我的表格:

this.createForm = this.formBuilder.group({
    'Id': new FormControl({ value: 0, disabled: true }, [Validators.required])
});
Run Code Online (Sandbox Code Playgroud)

我尝试这样:

dismissEditPop() {
  this.createForm.reset();
  this.createForm.setValue({ //setting back not working!!
    Id: 0
  });
  this.modalBackdrop = false;
  this.editPopup = false;
  this.deletePopup = false;
  this.addRowData = false;
}
Run Code Online (Sandbox Code Playgroud)

angular angular-forms angular8

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

如何在node.js中验证csv文件?

我有一个大的 csv 文件,需要将其转换为 json,然后将数据存储到 neo4j 中。我正在使用 Node.js 的 csv-parser 插件。如果 csv 有效,则此方法可以正常工作。然而,如果它无效,那么 Neo4j 中的数据就会被扰乱。因此,我需要先验证该文件,然后才能将其发送到我的数据库中。是否有任何可用的现有插件,或者有没有办法让我自己验证 csv 文件?

javascript csv validation node.js

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

Javascript过滤器很慢

我的节点应用程序中有两个大型数组.

var styles = [{itemID:..., styleID:..., styleNum:..., otherFields...}]; // 42455 items
var products = [{productID:..., styleNum:..., otherFields...}]; // 72K items
Run Code Online (Sandbox Code Playgroud)

我需要遍历产品并从styles数组中获取关联的styleID,并将新项添加到新数组中.styles数组按styleNum排序.这是我尝试过的:

var i=0, len = products.length, items = new Array(products.length);
for (i = 0; i < len; i++)
{
    var workingItem = products[i];
    var styleID = filterStyles(workingItem.styleNum)[0].styleID; 
    var item = {styleID:..., other fields};
    items[i]=item; 
}
Run Code Online (Sandbox Code Playgroud)

...

function filterStyles(styleNum) 
{
    var results = [];
    var item;
    for (var i = 0, len = createdStyles.length; i < len; i++) 
    {
        item = …
Run Code Online (Sandbox Code Playgroud)

javascript arrays node.js

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