小编Dan*_*ick的帖子

'ng serve`输出文件在哪里?

ng serve我没有建立我在angular-cli.json中设置的路径apps[0].outDir.

ng build 正常工作并构建到我指定的路径.

angular-cli

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

如何在Angular 2模板中使用枚举

我试图在angularjs 2模板中使用枚举.以下是我的代码

@Component({
    selector: 'test',
    template: `
<ul class="nav navbar-nav">
    <li class="{{activeSection == SectionType.Primary ? 'active': ''}}"><a href="javscript:void(0);" (click)="setActiveSection(SectionType.Primary)">Primary Details</a></li>
    <li class="{{activeSection == SectionType.Aditional ? 'active': ''}}"><a href="javscript:void(0);" (click)="setActiveSection(SectionType.Aditional)">Additional Details</a></li>
    <li class="{{activeSection == SectionType.Payment ? 'active': ''}}"><a href="javscript:void(0);" (click)="setActiveSection(SectionType.Payment)">Payment Settings </a></li>           
  </ul>`
  })
  export class TestComponent{
  activeSection: SectionType = SectionType.Primary;
   setActiveSection(section: SectionType) {
        this.activeSection = section;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的枚举:

enum SectionType {
    Primary,
    Aditional,
    Payment
}
Run Code Online (Sandbox Code Playgroud)

抛出EXCEPTION:TypeError:无法读取未定义的属性"Primary"

angular

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

在Angular中注入通用服务

如果使用不同的类型跨组件构造函数调用Angular,它会注入多个通用服务的实例吗?

我有很多服务将为从同一基类继承的不同类提供相同的功能.我想使用Typescript的通用模式MyService<T extends BaseClass>来处理这个问题.

但是我不知道它是如何与Angular的注射器一起生效的:

  1. 如果将Angular注入器注入具有不同类型的不同组件,它是否会创建此服务的多个实例
  2. 如果使用相同的类型调用它,注入器是否会注入相同的实例

码:

@Injectable
export class MyService<T> {
    ...
}

@Component
export class ComponentA {
    constructor(alphaService MyService<Alpha>) {}   <--Instance 1
}

@Component
export class ComponentB {
    constructor(betaService MyService<Beta>) {}   <----Instance 2?
}

@Component
export class ComponentA1 {
    constructor(alphaService MyService<Alpha>) {}  <---Instance 1?
}
Run Code Online (Sandbox Code Playgroud)

这合法吗?注射器是否知道创建两个MyService实例?

angular

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

Amazon ECS:目标组运行状况检查与容器运行状况检查

Amazon ECS 支持两种不同类型的运行状况检查:

如果配置了两项健康检查,哪一项获胜?如果任一失败,服务将标记为UNHEALTHY? 或两者?我可以配置一个来覆盖另一个吗?

我非常希望目标组的健康状况不会导致 ECS 不断地退回服务,并且我希望可以使用容器健康检查来覆盖它。

cloud amazon-web-services amazon-ecs docker

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

使用Jackson将Java8 LocalDateTime序列化为UTC时间戳

我刚刚根据新的(ish)java 8时间包将我的许多日期转换为LocalDateTime.到目前为止,我一直很喜欢切换,直到我开始尝试序列化和反序列化.

如何配置Jackson支持他们?:

LocalDateTime --serialize - > UTC Timestamp --deserialize - > LocalDateTime?

这里有很多关于转换为格式化字符串的材料,但我似乎无法找到utc时间戳的开箱即用解决方案.

java datetime jackson java-8 java-time

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

当没有结果返回时,如何防止Angular异步管道频繁进行服务器调用?

async在ngFor中使用管道来观察Observable.Observable由访问我的服务器的服务创建,并且在枚举ngFor循环时的加载时间,服务正确地调用服务器.

现在对于我不理解的部分:当任何结果回来时,一切都按预期发生.但是,如果服务器响应说,404,并且没有可用于枚举的结果,则async管道会使服务继续触发请求,相隔毫秒.这显然不好.这里的设计期望是什么?如何优雅地处理在使用异步管道时返回错误的Observable?

在组件模板中:

<li *ngFor="let person of persons | async">{{person.id}}</li>
Run Code Online (Sandbox Code Playgroud)

在Component主体中:

get persons: Observable<Person[]> {
    return this.personService.list();
}
Run Code Online (Sandbox Code Playgroud)

在服务中:

list(): Observable<Person[]> {
    if (this.persons && this.persons.length) {
        return Observable.from([this.persons]);
    } else {
        return this.http.get('/person')
            .map((response: Response) => response.json())
            .map((data: Person[]) => {
                this.persons = data;
                return data;
            })
            .catch((error: any) => {
                let errMsg = "some error..."
                return Observable.throw(errMsg);
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

更新ngrx/store中的对象

我正在使用@ ngrx/store来购买Angular 2应用程序.

我的商店里有一个说明Book对象的清单.我想更新其中一个对象中的字段.我也碰巧有一个我想要更新的Book实例的Observable(比方说selectedBook).

为了进行更新,我打算使用UpdateBookAction新书的一个和一个有效负载调用reducer .所以我通过订阅selectedBook然后调用Object.assign()来制作现有Book对象的深层副本.

但是当我尝试写入副本的一个字段时,我得到以下错误.(如果我试图直接写入商店中的Book对象,那么碰巧是我得到的错误.)

错误

Cannot assign to read only property 'name' of object '#<Object>' at ViewWrappedError.BaseError [as constructor]
Run Code Online (Sandbox Code Playgroud)

ngOnInit() {
    this.book$ = this.store.let(fromRoot.getSelectedBook);
    //...
}

someFunction() {
    //...
    this.book$.subscribe(book => {

        let updatedBook = Object.assign({}, book);
        updatedBook.name = 'something else';          // <--- THIS IS WHAT THROWS

        let action = new BookUpdateAction(updatedBook);
        this.store.dispatch(action);

    }
}
Run Code Online (Sandbox Code Playgroud)

评论后澄清

我假设我可能有一个有效载荷的动作,而不是整个商店的状态.(事实上​​这似乎是必要的,不是吗?)我相信这是文件的情况.

我想采取的行动是这样的:

Action = UPDATE, payload = {'id': 1234, 'name': 'something new'} …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript ngrx angular

7
推荐指数
2
解决办法
7138
查看次数

仅在打开Chrome DevTools时,Angular 2应用程序的反应非常缓慢

当打开Chrome开发者工具时,我的Angular 2应用程序才能缓慢(1-5秒)响应按键输入,按钮单击,在输入之间进行制表等。材质2动画也变得缓慢且断断续续。

我已经开发了三个月的应用程序,每天都使用Chrome DevTools。这个问题似乎在一夜之间出现了。

我知道的:

  • 我隐藏了所有待处理的应用程序更改,以将我的应用程序恢复到没有问题的时间。问题仍然存在。
  • Chrome DevTools似乎并不会在同一浏览器会话中减慢任何其他应用程序(即google inbox,google maps)的速度。
  • 疯狂的是,当我运行DevTools的时间轴“记录”以试图了解问题时,问题消失了,页面再次以正常速度做出反应! 我以为这是我最好的线索,但是我对DevTools的内部运作不甚了解,无法知道“时间轴记录”如何改变事物。
  • 我已经重新启动Chrome并删除了所有缓存的数据。
  • 当我在Firefox或IE中打开开发人员工具时,这些都不会发生。

任何关于下一步寻找的建议将不胜感激!

javascript paint google-chrome-devtools angular

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

使用 AWS API:给定 IAM 用户,获取当前有效的 IAM 策略文档

我很难找到正确的 API 调用来回答这个问题:给定一个 IAM 用户,管理该用户的有效 IAM 策略文档是什么?

看起来我可以使用多个 API 调用的组合并连接客户端中的策略来完成上述操作:

  1. aws iam list-groups-for-user --user-name my-user
  2. 对于每个返回的组: aws iam list-attached-group-policies --group-name my-group
  3. aws iam list-attached-user-policies --user-name my-user
  4. 连接从第 2 步和第 3 步返回的策略。
  5. 对于每项政策: aws iam get-policy --policy-arn my-policy-arn
  6. 再次对于每个策略: aws iam get-policy-version --policy-arn my-policy-arn -version-id my-version

这至少是 5 个 API 调用,最多是无限数量的调用。我什至不愿编写此逻辑,因为用户属于多个组并且这些组包含数十或数百个策略是很常见的。

我肯定在某个地方缺少一个 API 端点吗?

像这样的东西: aws iam get-effective-user-policy --user-name my-user

amazon-web-services amazon-iam

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

在编译时捕获拆箱和自动装箱问题的策略是什么?

我编辑了这个问题,从区分它这一个,并消除可怕的"为什么呢?"

如果我有一个返回java对象的java方法,Integerjava编译器允许我将它分配给一个原语int.这似乎要求运行时的麻烦.即.如果整数为空怎么办?

public class SomeClass {
    private Integer someIntegerObject;

    public Integer getSomeIntegerObject() {
        return this.someIntegerObject;
    }
}

SomeClass someClass = new SomeClass();
//much later...
int someIntegerPrimative = someClass.someIntegerObject();
Run Code Online (Sandbox Code Playgroud)

如果将someIntegerObject其设置为null,这将在运行时爆炸,但它似乎可以在编译时轻松捕获.

此功能称为"拆箱",而其相反的是"自动装箱".它旨在节省开发人员的时间和可读性,从而手动拆箱.

问题是:在编译时捕获潜在问题的最佳策略是什么?

java

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

如何在远程服务器上运行 ng e2e?

我想ng e2e针对其他人(除了 angular cli)提供的 Web 应用程序运行 angular cli 的测试。如何指定应用程序的主机和端口?

protractor angular-cli angular

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

角2; 使用Typescript而不是HTML中的ViewChild将方法分配给EventEmitter?

在Angular 2中,如何使用Typescript中的ViewChild将EventEmitter分配给其方法处理程序?

使用HTML处理来自EventEmitter的事件:

my.component.html

<some-component [someProperty]="myProperty" (onSomeEvent)="myMethod($event)></some-component>
Run Code Online (Sandbox Code Playgroud)

my.component.ts

export class MyComponent {
    public myProperty: string;
    ...
    public myMethod(event: any) {
        ... //handle event
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我更喜欢处理事件(在Typescript中):

my.component.html

<some-component #someComponent></some-component>
Run Code Online (Sandbox Code Playgroud)

my.component.ts

export class MyComponent {
    @ViewChild('someComponent') someComponent: SomeComponent;
    ngOnInit() {
        this.someComponent.someProperty = myProperty;
        this.someComponent.onSomeEvent = ? <-- How do I assign EventEmitter?
    }
    public myProperty: string;
    ...
    public myMethod(event: any) {
        ... //handle event
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

angular

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

我想从 @Transactional 中忽略特定实体(使用 Spring/Hibernate)

我运行了一个 SpringMVC 应用程序,并且我将 @Transactional 注释与 HibernateTransactionManager 结合使用。

结果,在我的应用程序中我抛出 RuntimeException 的任何地方,我们都会回滚 - 这太棒了!一切正常。

但现在我想从 Transactionality 中排除一个 Entity。这个实体代表我想要持久化的东西(基准/日志/错误),即使(特别是如果)有一个 RuntimeException 标记了回滚的其他一切。

我宁愿不必从开始和结束事务的拦截器外部调用某个存储库。

有没有直接的方法来实现这一点?

mysql hibernate transactions spring-mvc spring-transactions

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