Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 以角度声明对象的可观察数组_Angular_Typescript_Observable - Fatal编程技术网

Angular 以角度声明对象的可观察数组

Angular 以角度声明对象的可观察数组,angular,typescript,observable,Angular,Typescript,Observable,我试图显示一个对象数组,多个函数将不得不改变它。 所以我试着让它成为可观察的(也许我错了) 打字稿版本:2.7.2 rxjs:6.2.1 角度cli:6.0.8 节点:8.11.3 角度:6.0.7 我的服务(IsolementService)中有一个变量声明为: public listeIsolements$: Observable<isolementInterface>; 我的服务是呼叫组件: constructor(public IsolementService : Isol

我试图显示一个对象数组,多个函数将不得不改变它。 所以我试着让它成为可观察的(也许我错了)

打字稿版本:2.7.2 rxjs:6.2.1 角度cli:6.0.8 节点:8.11.3 角度:6.0.7

我的服务(IsolementService)中有一个变量声明为:

public listeIsolements$: Observable<isolementInterface>;
我的服务是呼叫组件:

constructor(public IsolementService : IsolementService, public myGestionUserService : GestionUserService) { }
ngOnInit() {
}


/*________________________________________________________________________________________________________*/
// Fonction call on submit
onSubmit(form: NgForm) {
    const send_date_deb = form.value['date_deb'];
    const send_date_fin = form.value['date_fin'];
    this.IsolementService.getIsolements(send_date_deb, send_date_fin);
}
但是当我编译时,我有一个错误TS2495:类型“Observable”不是数组或字符串类型。 我可以向谁申报我需要什么

谢谢

编辑-查看代码:

<tr *ngFor="let iso of IsolementService.listeIsolements$ | async">
                            <td class="filterable-cell">{{ iso._NOM }}</td>
                            <td class="filterable-cell">{{ iso._PRENOM }}</td>
                            <td class="filterable-cell">{{ iso._IPP }}</td>
                            <td class="filterable-cell">{{ iso._IEP }}</td>
                            <td class="filterable-cell">{{ iso._DATE_NAISSANCE }}</td>
                            <td class="filterable-cell">{{ iso._SEXE }}</td>
                            <td class="filterable-cell">{{ iso._DEBUT_SEJ }}</td>
                            <td class="filterable-cell">{{ iso._FIN_SEJ }}</td>
                            <td class="filterable-cell">{{ iso._DEBUT_ISOLEMENT }}</td>
                            <td class="filterable-cell">{{ iso._FIN_ISOLEMENT }}</td>
                            <td class="filterable-cell"></td>
                            <td class="filterable-cell">{{ iso._PRESCRIPTEUR }}</td>
                            <td class="filterable-cell">{{ iso._UF }}</td>
                            <td class="filterable-cell"></td>
                            <td class="filterable-cell">{{ iso._CHAMBRE_STANDARD }}</td>
                            <td class="filterable-cell">{{ iso._RAISON_CHAMBRE_STANDARD }}</td>
                            <td class="filterable-cell">{{ iso._PATIENT_INFORME_MODALITE }}</td>
                            <td class="filterable-cell">{{ iso._FAMILLE_PREVENU }}</td>
                            <td class="filterable-cell">{{ iso._MODE_HOSPI }}</td>
                            <td class="filterable-cell">{{ iso._INDICATIONS }}</td>
                            <td class="filterable-cell">{{ iso._MESURES_PREVENTIVES }}</td>
                            <td class="filterable-cell">{{ iso._CIRCONSTANCES }}</td>
                            <td class="filterable-cell">{{ iso._MED_PRESCRI_SORTIE }}</td>
                            <td class="filterable-cell">{{ iso._OBSERVATIONS_SORTIE }}</td>
                        </tr>

{{iso.{NOM}}
{{iso.{PRENOM}}
{{iso.{IPP}}
{{iso.{IEP}}
{{iso.{DATE}
{{iso.\u SEXE}}
{{iso.{SEJ}
{{iso.\u FIN_SEJ}}
{{iso.}
{{iso.\U FIN\U ISOLENT}}
{{iso.{U PRESCRIPTEUR}}
{{iso.{UF}}
{{iso.\U CHAMBRE\U STANDARD}}
{{iso.{U存在的理由}
{{iso.{PATIENT{INFORME{MODALITE}}
{{iso._FAMILLE_prevenus}}
{{iso.{MODE{HOSPI}}
{{iso.{}
{{iso.\U措施\U预防措施}
{{iso._CIRCONSTANCES}}
{{iso.{MED}
{{iso.{u观察}}

我知道出了什么问题。你打了个电话,然后你就订阅了。订阅可观察对象总是在其发出后返回可观察对象的值。如果要将变量声明为可观察对象本身,只需将其指定为调用:

this.listeIsolements$ = this.http.post('foo/mywebservice.php', dateToSend, headers);
如果你只想看到它本身,你不需要订阅它。如果您希望稍后在视图中使用该值,您可以在那里简单地使用它(或者稍后在组件中订阅它,如果您需要的话)

(编辑): 在您的视图中,将其更改为:

<div *ngIf="IsolementService.listeIsolements$ | async as isolements">
<tr *ngFor="let iso of isolements.ISOLEMENTS">

将异步管道与*ngFor分开,否则它将无法工作。

让localArray:Observable[]=[];
let localArray: Observable<MyObject>[] = [];

什么是错误跟踪?哪一行出错了?我感觉您试图在视图中绑定列表或将其用作数组。数组的结果是对象本身,而不是该对象内的数组。因此,如果要从
可观察的
中获取数组,则需要界面中定义的
result.ISOLEMENTS
。@trichetriche我的错误在我的声明中。@Gijs Post,是的,我想在我的组件视图中将其用作数组,我希望它是可观察的,所以当我在某些函数中更改它时,我的视图将更新(但可能我误解了一个概念)@Pylouface你能提供你视图的代码以便我们看到那里发生了什么吗?我理解为什么我所做的不起作用。我没有任何错误,但我的数据不显示。为了触发请求,我需要调用subscribe,如果我使用您的语法ListIsolations是一个可观察的,但不包含我的webservice响应,则对可观察的有规则的“subscribes”,如果您在视图中对其进行管道传输,您不必担心这一点。如果您的调用响应不包含正确的模型,则可能有一些语法错误(即,您的调用返回的不是isolementInterface)100%正确:)在我看来,我犯了一些小语法错误。一切正常,谢谢!
<div *ngIf="IsolementService.listeIsolements$ | async as isolements">
<tr *ngFor="let iso of isolements.ISOLEMENTS">
let localArray: Observable<MyObject>[] = [];