小编Vel*_*dan的帖子

从 angular 2 管道获取数据

是否可以从管道到组件获取过滤数据?

如果我们的数据由模板中的管道过滤,我如何获取过滤后的数据并将其传递到我的组件中?:)

非常感谢您的帮助。

templates components pipe angular

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

在Angular 2中提供核心单例服务模块

我尝试创建一些核心模块,就像在教程中除了一个细节,我想只提供服务.所以我的CoreModule应该像 - 单身服务提供者,因为我不想在AppModule中提供大量服务,就像应用版本<= RC4一样.我试着做那些东西,但它不起作用.我做错了吗?谢谢你的帮助.

import {
  ModuleWithProviders, NgModule,
  Optional, SkipSelf }       from '@angular/core';

import { CommonModule }      from '@angular/common';

import { CommunicatePatientListService }    from './services/communicate_patients_list.service';
import { HTTPPatientsListService }    from './services/http_patients_list.service';
import { SharedService }    from './services/shared_service';


@NgModule({
  imports:      [ CommonModule ],
  providers:    [
    CommunicatePatientListService,
    HTTPPatientsListService,
    SharedService
  ],
  exports: []
})
export class CoreModule {}
Run Code Online (Sandbox Code Playgroud)

更新2.我尝试了不同的方法来完成提供给我的事情,我发现了一个有趣的时刻.

当我通过标准导入导入COREModule单例服务时,它不起作用,但是当我通过System.js别名导入它时,它现在正在工作.我真的很想知道它是如何工作的.这是代码

CoreModule:
import {
  ModuleWithProviders, NgModule,
  Optional, SkipSelf }       from '@angular/core';

import { CommonModule }      from '@angular/common';


import { HeaderModule } from './modules/header/header.module';
import …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

SVG圈中dasharray属性的奇怪行为

我正在尝试创建一个SVG圈的无限动画循环.

我想创造12个相等的部分并将它分开一些空隙.

为了计算圆圈的价值我从下表中使用了k系数所以我做了0,25782*160(我的圆的直径)我得到了:41.2512(它应该是我的作品的值).

之后我通过该值创建了strokeDasharray prop:40 1.2512 我认为它应该是正确的值.

看起来是这样但是当我改变了strokedashOffset道具时,我在右侧看到了一些神器.我不知道为什么会发生这种情况以及如何解决它(以及我在哪里犯了错误)?

谢谢你的帮助.

在这里演示(只需将strokedashOffset更改为408值,您将看到该问题).

https://jsfiddle.net/q8enje9o/

这里是我的纯svg代码

<svg version="1.1" id="svgout_dasharray" baseProfile="full" width="500" 

height="500" viewBox="0, 0, 500, 500" xmlns="http://www.w3.org/2000/svg" style="border: 1px solid black">

<defs></defs>

<circle cx="150" cy="150" r="80" fill="none" stroke="#ff0000" style="stroke-width: 30;stroke-dasharray: 40, 1.2512;stroke-dashoffset: 380;"></circle>
</svg>
Run Code Online (Sandbox Code Playgroud)

表格k系数.n - 圆圈数

在此输入图像描述

以下是如何计算这些系数的公式.通过它自己

n - 件数

360 - 2*PI(整圈)

k - 我们的系数.我们想找到

在此输入图像描述

PS这是一个更新后问题的演示(Chrome最新版和Windows 10版) 在此输入图像描述

javascript geometry svg

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

如何在 golang 的 MGO mongo db 驱动程序中获取我的文档的 ObjectId (_id)

我正在与 MGO 合作(因为我没有找到比它更好的东西)。我已经玩过它并得到了一些结果,但我不明白如何获取收到文档的 _id (内部 Mongo ObjectId)?

例如:

type FunnyNumber struct {
    Value int
    _id string
}

session, err := mgo.Dial("127.0.0.1:27017")
if err != nil {
    panic(err)
}
defer session.Close()

// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)

c := session.DB("m101").C("funnynumbers")

funnynumber := FunnyNumber{}
err = c.Find(bson.M{}).One(&funnynumber)
if err != nil {
    log.Fatal(err)
}

fmt.Println("Id one:", funnynumber._id)  // Nothing here? WHy? How to get it.
fmt.Println("Value one:", funnynumber.Value)  // 62. It's OK!
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?我可以在哪里阅读有关它的一些信息?我在 MGO 文档中没有找到任何内容

我的文档的架构是:

{ …
Run Code Online (Sandbox Code Playgroud)

go mongodb mgo

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

Lodash.智能通过键合并两个对象

我有两个对象.A和B.

一个

{
   "beta" : {
     "value": null,
     "error" : null
   },
   "hamma" : {
     "value": null,
     "error" : null
   },
   "zerta" : {
     "value": null,
     "error" : null
   },
   "mozes" : 5
}
Run Code Online (Sandbox Code Playgroud)

{
   "beta" : 5,
   "hamma" : 2
}
Run Code Online (Sandbox Code Playgroud)

如何循环A键,将其与B对象进行比较,并通过Lodash更新A对象中现有键的值?也许存在一些不错的方式?我试图使用"assing,assignWith",但看起来我还没有理解它是如何工作的.

结果应该是这样的:

{
   "beta" : {
     "value": 5,
     "error" : null
   },
   "hamma" : {
     "value": 2,
     "error" : null
   },
   "zerta" : {
     "value": null,
     "error" : null
   },
   "mozes" : 5
}
Run Code Online (Sandbox Code Playgroud)

感谢您提供任何信息.

我通过这种方式通过原生js解决了这个解决方案,但我想知道如何通过Lodash来做到这一点.

export …
Run Code Online (Sandbox Code Playgroud)

javascript lodash

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

Javascript lambda(箭头)函数在值赋值的瞬间返回对象

我只是想知道为什么当我试图返回一个对象时,我立即为它分配一些值,结果不是我预期的,而lamda函数不会返回一个对象而是值.

在这里澄清我的问题是代码:

1)错误的变体(但我想使用类似的东西,因为它是最短的一点)

const a = {
 "a" : "a",
 "b" : "b",
 "c" : "c"
}

const res = Object.keys(a).reduce((res, key) => ( res[key] = 0 ), {});
console.log(res) // result -> 0; but why, does it return an assigning value in that case?
Run Code Online (Sandbox Code Playgroud)

2个变体(正确但有点长)

const a = {
 "a" : "a",
 "b" : "b",
 "c" : "c"
}

const res = Object.keys(a).reduce((res, key) => { res[key] = 0; return res; }, {});
console.log(res); // { "a" : 0, …
Run Code Online (Sandbox Code Playgroud)

javascript lambda expression arrow-functions

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

PyQT 更改内部 QVBoxLayout 在 GridLayout 中的位置

我正在使用 PyQT,并且我有非常简单的结构网格布局和内部 BoxLayout 到该网格中(下面由 QtDesigner 生成的代码。抱歉,它的视图很难看)

简而言之,这是我的 BoxLayer

self.gridLayout.addLayout(self.buttonsLayer, 2, 0, 1, 2)
Run Code Online (Sandbox Code Playgroud)

后来我尝试通过执行此指令来更改它的位置(我想将此布局移动到 GridLayout 的第 3 行)

self.gridLayout.addLayout(self.buttonsLayer, 3, 0, 1, 2)
Run Code Online (Sandbox Code Playgroud)

但我有一个错误QLayout::addChildLayout: 布局“buttonsLayer”已经有一个父级

一开始,我在网格布局中有按钮,但后来我决定将它们推入某个容器中,并仅移动该容器,而不是移动 2 个对象。但是..奇怪的是,对于单个按钮这个技巧是有效的,但对于布局它不起作用。

也许有人知道为什么它不起作用以及如何更改 BoxLayer 的位置?感谢您提供任何信息!

 MainWindow.setObjectName("MainWindow")
    MainWindow.resize(608, 173)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
    self.verticalLayout.setObjectName("verticalLayout")
    self.gridLayout = QtWidgets.QGridLayout()
    self.gridLayout.setObjectName("gridLayout")
    self.addFileBtn_0 = QtWidgets.QPushButton(self.centralwidget)
    self.addFileBtn_0.setObjectName("addFileBtn_0")
    self.gridLayout.addWidget(self.addFileBtn_0, 0, 0, 1, 1)
    self.lineEditFile_0 = QtWidgets.QLineEdit(self.centralwidget)
    self.lineEditFile_0.setText("")
    self.lineEditFile_0.setObjectName("lineEditFile_0")
    self.gridLayout.addWidget(self.lineEditFile_0, 0, 1, 1, 1)
    self.addFileBtn_1 = QtWidgets.QPushButton(self.centralwidget)
    sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
    sizePolicy.setHorizontalStretch(0)
    sizePolicy.setVerticalStretch(0)
    sizePolicy.setHeightForWidth(self.addFileBtn_1.sizePolicy().hasHeightForWidth())
    self.addFileBtn_1.setSizePolicy(sizePolicy)
    self.addFileBtn_1.setObjectName("addFileBtn_1")
    self.gridLayout.addWidget(self.addFileBtn_1, 1, …
Run Code Online (Sandbox Code Playgroud)

position python-3.x pyqt5

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

Luxon.js ISO 8601 解析

我正在使用 Luxon.js 来处理 Date 并且我正在尝试解析来自服务器的一些 ISO 字符串。有这个格式

2019-04-04T12:12:07+03:00
Run Code Online (Sandbox Code Playgroud)

我正在使用 Luxon 的方法 - fromISO 应该解析这个 str

DateTime.fromISO("2019-04-04T12:12:07+03:00", "dd LLLL yyyy")
Run Code Online (Sandbox Code Playgroud)

我希望看到2019 年 4 月 4 日 - 15:12的输出,但它以某种方式返回2019 年 4 月 4 日 - 12:12,我不明白为什么会发生这种情况?

难道我做错了什么?因为当我尝试使用这个 ISO 字符串2019-04-04T12:12:07.756Z 时, 它就像一个魅力。但我不明白为什么前一个不起作用,我该怎么做才能使它起作用?

我将不胜感激任何帮助!

PS 说实话,我对 ISO 时间的了解有一些差距,如果问题很愚蠢,我很抱歉。

javascript date iso8601 luxon

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

在映射对象的情况下,打字稿保持顺序或返回值类型

我正在研究 at 对象的简单映射器。它应该接受对象属性的数组并返回这些属性值的数组。它工作正常,但对于 Typescript,我无法保存返回值的类型顺序。

这是例子

import { createStore, Store as FriendsStore } from "./mobx_react_lite_store";
import { createAccountsStore, AccountsStoreType } from "./accountsStoreLite";

type RootObj = {
    friendsStore: FriendsStore,
    accountsStore: AccountsStoreType
};

const rootStore: RootObj = {
    friendsStore: friendsStore,
    accountsStore: accountsStore
};

function pickStores<T, K extends keyof T>(rootStore: T, keys: K[]): T[K][] {
    return keys.map((key: K) => {
        const store = rootStore[key];

        if (!store) {
            throw new Error(`Can't find the store with name ${key} in rootStore. Myabe yo've forgottent
            to add this …
Run Code Online (Sandbox Code Playgroud)

iteration mapping types typescript

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