this.formGroup = this.formBuilder.group({
images: this.fb.array([])
});
Run Code Online (Sandbox Code Playgroud)
我以这种方式添加新元素:
this.images.push(new FormControl(new ImageCreateForm(this.imageResponse.id)));
get images(): FormArray {
return <FormArray>this.formGroup.controls.images;
}
Run Code Online (Sandbox Code Playgroud)
我的课程:
export class ImageCreateForm {
id: number;
constructor(id: number) {
this.id = id;
}
}
export class ImageResponse {
id: number;
url: string;
}
Run Code Online (Sandbox Code Playgroud)
当我添加图像时,我的{{ formGroup.value | json }}是:
"images": [
{
"id": 501
},
{
"id": 502
},
{
"id": 503
}
]
Run Code Online (Sandbox Code Playgroud)
我想在发送表单POST请求之前删除之前的图像(例如只有图像id=502)formGroup.可能吗?我试过使用reset方法,但这删除所有元素:
this.images.reset({"id":image.id});.image它在哪里是一个ImageResponse对象.
结果:{"images": [ null, …
如何获取响应POST请求的状态码?我的服务方法返回:
return this.httpClient.post(url, body, {observe: 'response'})
.catch(HandleError.handleErrorClient);
Run Code Online (Sandbox Code Playgroud)
在我的组件中,我调用此方法并订阅:
.subscribe(
res => {
console.log(res);
console.log(JSON.stringify(res));
this.responseStatus = res.status;
console.log(this.responseStatus);
},
err => {
this.responseStatus = err.status;
});
Run Code Online (Sandbox Code Playgroud)
但是在浏览器控制台中没有任何内容-但是,当请求包含错误时,则this.responseStatus = err.status返回正确的状态代码,但是res.status或者res不包含状态代码,则仅返回响应主体。
编辑:
零件:
responseStatus: number;
loginUser() {
this.loginData = this.loginForm.getRawValue();
this.userLoginService.loginUser(this.loginData)
.subscribe(
res => {
console.log('bla bla');
this.responseStatus = res.status;
},
err => {
console.log(err.status); //401
console.log(err.error.error); //undefined
console.log(JSON.parse(err.error).error); //unauthorized
this.responseStatus = err.status;
});
}
Run Code Online (Sandbox Code Playgroud)
服务:
import {Http} from "@angular/http";
import {HttpClient} from '@angular/common/http';
...
constructor(private …Run Code Online (Sandbox Code Playgroud) 我想获得(StateState)等于ACTIVE的所有报价-是否可以仅使用方法名称使用Spring Data还是必须使用@Query?
@Repository
public interface OfferRepository extends JpaRepository<Offer, Long> {
Page<Offer> findAllByOfferState_ACTIVE(Pageable pageable);
}
public enum OfferState {
ACTIVE, FINISHED
}
@Entity
@Table(name = "OFFERS")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Offer {
@Id
@GeneratedValue
private Long id;
[...]
@Enumerated(EnumType.STRING)
private OfferState offerState;
}
@Service
public class OfferServiceImpl implements OfferService {
@Autowired
private OfferRepository offerRepository;
@Override
public Offer saveOffer(Offer offer) {
offer.setOfferState(OfferState.ACTIVE);
return offerRepository.save(offer);
}
@Override
public Page<Offer> getAllByPage(Pageable pageable) {
Page<Offer> allByOfferState_active = offerRepository.findAllByOfferStateACTIVE(pageable);
return allByOfferState_active;
} …Run Code Online (Sandbox Code Playgroud)