ng serve
我没有建立我在angular-cli.json中设置的路径apps[0].outDir
.
ng build
正常工作并构建到我指定的路径.
我试图在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,它会注入多个通用服务的实例吗?
我有很多服务将为从同一基类继承的不同类提供相同的功能.我想使用Typescript的通用模式MyService<T extends BaseClass>
来处理这个问题.
但是我不知道它是如何与Angular的注射器一起生效的:
码:
@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实例?
Amazon ECS 支持两种不同类型的运行状况检查:
如果配置了两项健康检查,哪一项获胜?如果任一失败,服务将标记为UNHEALTHY
? 或两者?我可以配置一个来覆盖另一个吗?
我非常希望目标组的健康状况不会导致 ECS 不断地退回服务,并且我希望可以使用容器健康检查来覆盖它。
我刚刚根据新的(ish)java 8时间包将我的许多日期转换为LocalDateTime.到目前为止,我一直很喜欢切换,直到我开始尝试序列化和反序列化.
如何配置Jackson支持他们?:
LocalDateTime --serialize - > UTC Timestamp --deserialize - > LocalDateTime?
这里有很多关于转换为格式化字符串的材料,但我似乎无法找到utc时间戳的开箱即用解决方案.
我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) 我正在使用@ 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) 仅当打开Chrome开发者工具时,我的Angular 2应用程序才能缓慢(1-5秒)响应按键输入,按钮单击,在输入之间进行制表等。材质2动画也变得缓慢且断断续续。
我已经开发了三个月的应用程序,每天都使用Chrome DevTools。这个问题似乎在一夜之间出现了。
我知道的:
任何关于下一步寻找的建议将不胜感激!
我很难找到正确的 API 调用来回答这个问题:给定一个 IAM 用户,管理该用户的有效 IAM 策略文档是什么?
看起来我可以使用多个 API 调用的组合并连接客户端中的策略来完成上述操作:
aws iam list-groups-for-user --user-name my-user
aws iam list-attached-group-policies --group-name my-group
aws iam list-attached-user-policies --user-name my-user
aws iam get-policy --policy-arn my-policy-arn
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
我编辑了这个问题,从区分它这一个,并消除可怕的"为什么呢?"
如果我有一个返回java对象的java方法,Integer
java编译器允许我将它分配给一个原语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,这将在运行时爆炸,但它似乎可以在编译时轻松捕获.
此功能称为"拆箱",而其相反的是"自动装箱".它旨在节省开发人员的时间和可读性,从而手动拆箱.
问题是:在编译时捕获潜在问题的最佳策略是什么?
我想ng e2e
针对其他人(除了 angular cli)提供的 Web 应用程序运行 angular cli 的测试。如何指定应用程序的主机和端口?
在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) 我运行了一个 SpringMVC 应用程序,并且我将 @Transactional 注释与 HibernateTransactionManager 结合使用。
结果,在我的应用程序中我抛出 RuntimeException 的任何地方,我们都会回滚 - 这太棒了!一切正常。
但现在我想从 Transactionality 中排除一个 Entity。这个实体代表我想要持久化的东西(基准/日志/错误),即使(特别是如果)有一个 RuntimeException 标记了回滚的其他一切。
我宁愿不必从开始和结束事务的拦截器外部调用某个存储库。
有没有直接的方法来实现这一点?
angular ×7
angular-cli ×2
java ×2
javascript ×2
typescript ×2
amazon-ecs ×1
amazon-iam ×1
cloud ×1
datetime ×1
docker ×1
hibernate ×1
jackson ×1
java-8 ×1
java-time ×1
mysql ×1
ngrx ×1
paint ×1
protractor ×1
rxjs ×1
spring-mvc ×1
transactions ×1