小编Str*_*der的帖子

如何将模块导入子模块?

我在我的 Angular 应用程序中使用了 ngx-translate。我在 app.module.ts 中导入并完成了所有操作:

import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';

export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, '/assets/i18n/', '.json');
 }

@NgModule({
imports: [
    BrowserModule,
    HttpClientModule,
    TranslateModule.forRoot({
        loader: {
            provide: TranslateLoader,
            useFactory: HttpLoaderFactory,
            deps: [HttpClient]
        }
    })
],
bootstrap: [AppComponent]

@NgModule({
imports: [
    BrowserModule,
    HttpClientModule,
    TranslateModule.forRoot({
        loader: {
            provide: TranslateLoader,
            useFactory: HttpLoaderFactory,
            deps: [HttpClient]
        }
    })
],
bootstrap: [AppComponent]
Run Code Online (Sandbox Code Playgroud)

我正在导入和导出模块,例如 github ngx-translate 页面上的示例。翻译器工作正常。

但是我有一个子文件夹,里面有他自己的 module.ts 文件,pages.module.ts。当我想在 pages 文件夹中的 html 文件上使用 …

ngx-translate angular

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

具有动态名称的Angular Material 2 Datepicker

我正在尝试使用动态名称实现datepicker组件.

我正在使用Angular 4开发基于Angular Material 2的项目,这是我的实现:

<input mdInput [mdDatepicker]="'start' + column.name + 'Picker'" placeholder="Start {{column.label}}" formControlName="start{{column.name}}">
<button mdSuffix [mdDatepickerToggle]="'start' + column.name + 'Picker'"></button>
<md-datepicker #start{{column.name}}Picker></md-datepicker>
Run Code Online (Sandbox Code Playgroud)

其中,column.name动态地改变我的HTML页面.

在运行时我收到此错误:

ERROR TypeError: this._datepicker._registerInput is not a function
Run Code Online (Sandbox Code Playgroud)

你对这个错误的原因有什么看法吗?

注意:column.namemdDatepicker and mdDatepickerToggle属性中的静态值替换可以解决问题,但我的目标是使用动态值运行此代码

编辑:使用 和属性中column.name的静态值替换只解决运行时错误.但是,在所有内容都是静态的情况下,不会触发datepicker,这意味着即使名称中的名称也必须包含静态值mdDatepickermdDatepickerToggle#start{{column.name}}Pickermd-datepicker

angular-material2 angular

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

ngx-translate:如何“翻译”一个 html 属性?

我已经在我的 Angular-Cli 应用程序中实现了 ngx-translate 并且在我执行以下操作时工作正常:

<div>{{ 'some.value' | translate }}</div>
Run Code Online (Sandbox Code Playgroud)

但是我该如何翻译 HTML 组件的属性呢?就像是:

<div data-text="{{ 'some.value' | translate }}"></div>
Run Code Online (Sandbox Code Playgroud)

(上面这段代码不起作用)

在此先感谢您提供的任何帮助...

JB

ngx-translate angular

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

Node.js 环境中的水平扩展和 GraphQL

我正在尝试构建一个包含即时消息模块的应用程序,主要挑战之一是无论用户数量或交换的消息数量如何,都要保持应用程序的可扩展性。

在我读到的一篇文章中,可以使用带有“订阅”的 GraphQL 构建实时应用程序,除此之外,它使用起来很简单,并且具有最大限度地减少往返对象检索的优势,从而减少资源使用。

但是,如果我们需要向系统添加新的服务器/节点以进行水平扩展怎么办?这可以使用 GraphQL 吗?

以允许水平缩放的 websockets 实现为例,有SocketCluster。我想知道单独由 GraphQL 开发的应用程序是否可以跨多个节点/机器进行扩展,或者它必须与另一个框架(如 SocketCluster)一起使用才能实现这一目标。

node.js graphql socketcluster

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

GraphQL Dataloader vs猫鼬填充

为了执行类似连接的操作,我们可以同时使用GraphQL和Mongoose来实现这一目的。

在问任何问题之前,我想举一个下面的“任务/活动”示例(此代码没有经过测试,仅出于示例的目的而给出):

Task {
  _id,
  title,
  description,
  activities: [{ //Of Activity Type
    _id,
    title
  }]
}
Run Code Online (Sandbox Code Playgroud)

在猫鼬中,我们可以使用populate方法检索与任务相关的活动,如下所示:

const task = await TaskModel.findbyId(taskId).populate('activities');
Run Code Online (Sandbox Code Playgroud)

使用GraphQL和Dataloader,我们可以得到类似以下结果:

const DataLoader = require('dataloader');
const getActivitiesByTask = (taskId) => await ActivityModel.find({task: taskId});
const dataloaders = () => ({
    activitiesByTask: new DataLoader(getActivitiesByTask),
});
// ...
// SET The dataloader in the context
// ...

//------------------------------------------
// In another file
const resolvers = {
    Query: {
        Task: (_, { id }) => await TaskModel.findbyId(id),
    },
    Task: { …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js express graphql

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

AngularJS:检测表单更改

我正在开发一个角度应用程序,我必须检查表单更改,并根据更改执行一些操作.我知道,这可以通过使用来实现,$scope.watch但这会让我失去性能.

我想要实现的目标

我有一个预先填充的表单,我将使用表单数据作为参考,angular.copy()并与原始数据进行比较.

我也试过$parsers检查,但失败了.那么,有什么方法可以实现这一目标吗?

javascript angularjs

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

根据对象的参数化属性对对象列表进行排序

假设我们有一个具有以下属性的对象:

public class MyObject {

    private String attr1;
    private Integer attr2;

    //...

    public String getAttr1() {
        return this.attr1;
    }

    public Integer getAttr2() {
        return this.attr2;
    }
}
Run Code Online (Sandbox Code Playgroud)

mylist根据其属性对此对象的列表进行排序的一种方法attr1是:

mylist.sort(Comparator.comparing(MyObject::getAttr1));
Run Code Online (Sandbox Code Playgroud)

是否可以以动态方式在方法中使用此代码,并使用getAttr1根据其名称返回对象属性的getter的方法替换该部分?就像是:

public void sortListByAttr(List<MyObject> list, String attr) {
    list.sort(Comparator.comparing(MyObject::getGetterByAttr(attr)));
}
Run Code Online (Sandbox Code Playgroud)

MyObject::getGetterByAttr(attr)部分不编译,我写的只是作为一个例子来解释我的想法

我尝试使用以下代码实现一个方法new PropertyDescriptor(attr, MyObject.class).getReadMethod().invoke(new MyObject())但是仍然无法使用该方法中的参数调用comparing方法

java-8

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

NSSM - 从带有许多参数的命令行安装服务

我正在尝试制作一个批处理文件,该文件将创建我的服务,并为如何准确列出每个参数而苦苦挣扎。我对此进行了大量研究,但似乎找不到正确的语法。这就是我现在所拥有的:

nssm install MDHIS_WebClient "%MDHIS2_HOME%/MDHIS_WebClient.cmd" AppDirectory %MDHIS2_HOME% DisplayName MDHIS_WebClient Start SERVICE_AUTO_START DependOnService MSSQLSERVER AppNoConsole 1 AppStopMethodConsole 30000
Run Code Online (Sandbox Code Playgroud)

这有效,但参数被忽略。任何人都可以向我展示正确语法的示例吗?

service command-line arguments nssm

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

具有TypeError的可观察合并运行:无法读取未定义的属性“ apply”

我试图在有角度的应用程序中实现排序数据表,并且我实现的示例运行时出现以下错误:

ERROR TypeError: Cannot read property 'apply' of undefined
    at TableDataSource.webpackJsonp.332.TableDataSource.connect (data-table.component.ts:83)
Run Code Online (Sandbox Code Playgroud)

导致错误的方法是Observable.merge():

connect(): Observable<UserData[]> {
    const displayDataChanges = [
      this._exampleDatabase.dataChange, //BehaviorSubbject
      this._sort.sortChange, //EventEmitter
    ];

    return Observable.merge(...displayDataChanges).map(() => {
      return this.getSortedData();
    });
}
Run Code Online (Sandbox Code Playgroud)

您是否知道此错误的原因?我在Google上搜索了关于我收到但没有成功的消息的解释

observable rxjs typescript angular

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

Ionic 3,如何检查每个页面的网络连接?

如果互联网在我的应用程序的任何位置关闭,我正在寻找一个更好的解决方案,连接失败的弹出对话框.

我有提供商来检查连接.但是我没有得到很好的解决方案来调用每个事件或每个页面更改.

ionic-framework ionic3

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