小编k.v*_*ent的帖子

如何用角度2生成UUID?

我正在使用Angular 2作为注册表单:名字,姓氏,电子邮件和密码.

提交后,数据通过API调用存储在数据库(nodeJs和mongo)中,并生成一个JWT令牌,然后发送回客户端.

现在我应该添加/生成UUID(通用唯一标识符).由于我之前从未做过这种功能,我需要一种方法和想法/解决方案如何实现这一点... JWT令牌是否可以替代UUID?如果是的话,这就足够了.

否则,我宁愿避免对表单或其功能进行任何重大更改.

我一直在寻找,但没有找到有用的解决方案.我尝试了npm包angular2-uuid,但在将其作为依赖项安装后,ng build -prod抛出了一个不明确的错误.

import { UUID } from 'angular2-uuid';
....
let uuid = UUID.UUID();
Run Code Online (Sandbox Code Playgroud)

错误:

错误在./~/@angular/flex-layout/@angular/flex-layout.es5.js模块构建失败:错误:ENOENT:没有这样的文件或目录,打开'/ Users/username/dev/app/node_modules/@ angular/flex- layout/@angular/flex-layout.es5.js'@ ./src/$$_gendir/app/app.module.ngfactory.ts 25:0-44 @ ./src/main.ts @多webpack-dev-server /客户端?http:// localhost:4200 ./src/main.ts

有什么想法或提示吗?

uuid angular

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

Docker命令返回"无效的引用格式"

我正在使用docker并使用以下命令:

docker run -d -p 9090:80 -v $(pwd):/usr/share/nginx/html nginx:alpine
Run Code Online (Sandbox Code Playgroud)

指向我的/dist文件夹,我的app文件由angular编译.

我先去/dist文件夹,然后从那里运行命令.这工作正常,我能够通过端口到达应用程序:9090但是在docker更新后,我运行错误:

docker:参考格式无效.请参阅'docker run --help'.

我一直在搜索并检查以下发布的docker:无效的参考格式,但它似乎与我的问题不同.以下是基于命令的信息docker version::

Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:40:09 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:45:38 2017
 OS/Arch:      linux/amd64
 Experimental: false
Run Code Online (Sandbox Code Playgroud)

有什么好主意吗?

docker

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

Angular2 - 如何在服务内初始化数据?

我有两个服务。login.service.tsenvironment-specific.service.ts

login.service.ts我需要初始化一个 Json 对象,environment-specific.service.ts从中传递几个链接。

用例是如何在没有 的情况下使其在 servcie 中工作ngOnInit(){},因为 ngOnInit()根据 Angular2 Lifecycle Hook 不能在 servcie 中使用。

在这里你可以找到我必须在里面初始化的部分login.service.ts- 当然没有ngOnInit()方法:

...
import { EnvSpecific } from '../models/env-specific';
import { ActivatedRoute } from "@angular/router";

@Injectable()
export class LoginService {

   link1: string;
   link2: string;
   link3: string;

   constructor(private http: Http, private fbuilder:FormBuilder, private route: ActivatedRoute) { }

   ngOnInit(){
      this.route.data
         .subscribe((data: { envSpecific: EnvSpecific }) => {
            this.link1 = data.envSpecific.link1;
            this.link2 = …
Run Code Online (Sandbox Code Playgroud)

angular-services angular

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

量角器失败:元素不可交互

我正在为 Angular 7.x 应用程序运行 E2E 测试。测试在我的本地机器上直接运行。但是当我将它推送到 repo (GitLab) 时,管道失败并抛出以下错误:

用户配置文件 - 检查并更改配置文件 - 失败:元素不可交互(会话信息:chrome=71.0.3578.80)(驱动程序信息:chromedriver=2.45.615279(12b89733300bd268cff3b78fc76cb8f3a7cc44e5)-444e5-Linux4

测试用例:

it('USER PROFILE - Check and change PROFILE', () => {

    page.navigateTo();

    browser.sleep(1000);
    expect(page.getProfileEditTagName()).toMatch('app-edit-profile');

    expect(element(by.className('logged-as')).getText()).toBe( testEmail );


    browser.actions().mouseMove( element.all( by.id('editIcon-salutation') ).get(0)).click().perform().then(function () {
        browser.sleep(4000);

        element( by.className('mat-select-arrow') ).click().then(function () {

            browser.actions().mouseMove( element.all(by.className('option-value mat-option')).get(0)).click().perform();
            browser.sleep(1000);
            browser.actions().mouseMove( element.all( by.id('saveButton-salutation') ).get(0)).click().perform();
            browser.sleep(1000);

        });
    });

});
Run Code Online (Sandbox Code Playgroud)

navigateTo()只是profile.po.ts 中的一个方法:

navigateTo() {
    browser.get('/profileComponentUrl');
}
Run Code Online (Sandbox Code Playgroud)

令我困惑的是,我什至无法定位错误或错误的地方是它在本地运行良好。但是一旦我推送到 repo,它就会在那个测试用例中完全失败。请问有什么提示吗?

protractor e2e-testing

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

如何将分支合并到主人?

我有一个本地分支有一些更改,我想将它合并到远程主.当我跑:git merge master我得到:

已经是最新的

但我仍然可以看到主人不包含新的变化.

我检查了以下问题Git合并报告"已经是最新的"虽然存在差异问题,但似乎首先不是最新的,另一方面,没有任何提示有帮助.

有什么想法或暗示吗?

git merge gitlab gitlab-ci

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

如何降级StackBlitz中npm软件包的依赖关系?

我正在尝试为StackBlitz上的演示提案创建应用程序,并且必须使用Angular 5.2.x,因为我的应用程序仍在使用5.2.x。当我尝试安装依赖项时,我无法从v6降级到v5.2。

我实际上需要例如"@angular/common": "^5.2.10", "rxjs": "^5.5.10", "@angular/http": "^5.2.10"etc。但这只是迫使我安装v6。

是否有可能避免这种情况并安装所需的版本,或者没有办法?

一直在检查Stackblitz的文档,但没有发现有关这种情况的信息。

angular stackblitz

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

运行ng测试时如何解决test.ts?

我正在使用Angular CLI,当我运行时ng test,它开始启动浏览器,然后突然出现错误:

userName@UserName:~/devApp/profiles$ng test
10% building modules 1/1 modules 0 active18 09 2017 16:16:51.891:WARN [karma]: No captured browser, open http://localhost:9876/
18 09 2017 16:16:51.903:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:9876/
18 09 2017 16:16:51.903:INFO [launcher]: Launching browser Chrome with unlimited concurrency
18 09 2017 16:16:51.915:INFO [launcher]: Starting browser Chrome

ERROR in Entry module not found: Error: Can't resolve '/Users/xxx/devApp/profiles/src/test.ts' in '/Users/xxx/devApp/profiles/node_modules/@angular/cli/models/webpack-configs'
Run Code Online (Sandbox Code Playgroud)

这是文件:test.ts当我设置项目时通过Angular CLI生成的文件:

// This file is required by karma.conf.js and loads recursively all …
Run Code Online (Sandbox Code Playgroud)

unit-testing angular-cli angular

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

在哪里以及如何导入 MAT_LABEL_GLOBAL_OPTIONS?

按照这个带有 label 的示例表单字段,我尝试更改mat-form-field占位符的行为。共有三个选项: autoalwaysnever

该功能确实是一个很好的功能,可以根据开发人员想要实现的占位符类型来使用。

实际上,它可以在全局范围内使用,直接将其传递给@NgModule应用程序根目录:

@NgModule({
  providers: [
    {provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: {float: 'always'}}
  ]
})
Run Code Online (Sandbox Code Playgroud)

并按如下方式构建视图:

<mat-form-field [floatLabel]="never"> // never, auto or always
   <input matInput placeholder="Simple placeholder" required>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

我的问题是我首先没有找到/知道我确切可以/应该导入的位置:MAT_LABEL_GLOBAL_OPTIONS因为它似乎不存在@angular/material,如果我检查这个GitHub-Repo,我看到它是从 导入的@angular/material/core,但它没有对我不起作用,因为我收到以下错误:

/node_modules/@angular/material/core"' has no exported member 'MAT_LABEL_GLOBAL_OPTIONS'. Did you mean 'MAT_RIPPLE_GLOBAL_OPTIONS'?

它与我使用的材料和 CLI 版本有关吗?

Angular CLI: 1.5.0
Node: 8.0.0
OS: darwin x64
Angular: 5.0.3
... animations, common, compiler, …
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular

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

如何在翻译开始之前将 i18n 密钥从父组件传递给子组件?

我正在使用一个输入字段组件,可以使用表单将其嵌入到不同的父组件中。

在输入子组件中,我有一个 i18n 翻译键作为使用插值的变量,我想根据客户的选择从父组件动态生成它。

输入.组件.ts

<div i18n="{{labelTextKey}}">{{labelText}}</div>
<div>
    <input matInput [required]="required" 
                    [name]="name"
                    [(ngModel)]="value" 
                    [type]="type">
</div>
Run Code Online (Sandbox Code Playgroud)

表单.组件.ts

<app-input [labelText]="'Second name'"
           [labelTextKey]="'@@LabelSecondName'"
           [name]="'secondName'"
           [ngModel] = "secondName"
           [type] = "'text'"
</app-input>
Run Code Online (Sandbox Code Playgroud)

问题是,运行应用程序时,翻译发生在将密钥传递给子组件中的变量之前,因此 key/id: 没有翻译@@LabelSecondName

因此,labelText 保留原始语言。我得到的不是翻译,而是一种随机生成的数字,并且由于这些数字作为密钥不存在于XLF(版本 2.0)文件中,因此文本/标签不会被翻译。

错误信息:Missing translation for message "8901569964118207331"

该行为在某种程度上是预期的,因为变量:没有及时labelTextKey获得传递的值: 。@@LabelSecondName

一直在寻找,但无法找到正确的解决方案。这个问题似乎和我的比较接近,但又不完全一样,而且也没有答案。

translation internationalization angular-i18n angular angular-dynamic-components

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

在相同集合的不同属性上使用equals返回没有记录,为什么?

当我使用以下查询时:

MATCH (emp:Employee)
WHERE emp.supervisor_id = 159
RETURN emp
Run Code Online (Sandbox Code Playgroud)

我得到了4个员工/节点的结果 supervisor_id = 159

对于此查询,我还得到一个结果,即1名员工employeeID = 159:

MATCH (emp:Employee)
WHERE emp.employeeID = 159
RETURN emp
Run Code Online (Sandbox Code Playgroud)

但是当我使用=运算符时,它确实会返回(no changes, no records).

MATCH (emp:Employee)
WHERE emp.employeeID = emp.supervisor_id
RETURN emp
Run Code Online (Sandbox Code Playgroud)

我认为这是一个逻辑错误,但我无法弄明白.

任何想法请.

neo4j cypher

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