gpt4 book ai didi

javascript - Angular 2 : Update service variables and the view

转载 作者:行者123 更新时间:2023-12-02 14:00:56 24 4
gpt4 key购买 nike

我有一个名为 ValueService 的服务,其值为 0。然后我有一个导航组件和一个标题组件。 valueService 中的值不会在单击时更新标题 View 。我对 Angular 2 很陌生,所以我不知道如何让它工作。这是我到目前为止所拥有的。感谢您的帮助。

值(value)服务

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Rx';

@Injectable()
export class ValueService {
value:number;

constructor() {
this.value = 0;
}

goTo(value){
this.value = value;
console.log('value in service', this.value);
}

导航组件模板

<button *ngFor="let d of array | keys; let i = index" (click)="valueService.goTo(i)"> {{ i }} </button>

标题组件模板

问题就在这里。我只想显示由导航组件中的按钮索引选择的 h3,但无论出于何种原因,它仍然设置为默认值 0 并且不会更新该值。

<h3 *ngIf="i==valueService.value" *ngFor="let d of array | keys; let i = index"> {{ text here }} </h1>

最佳答案

您的服务和导航组件看起来不错。

您可能会遇到这样的问题:在标题组件中您有 2 个绑定(bind),并且 ngIf 中的 i 未定义或未绑定(bind)到 for 循环。我会明确命令并看看这是否有帮助。

<template ngFor let-d [ngForOf]="array" let-i="index">
<h3 *ngIf="i==valueService.value">
{{ text here }}
</h3>
</template>

您还遇到一个错误,即您的 h3 标记以 h1 结束,因此实际上 Angular 甚至不应该编译它并在控制台中提示它。

关于javascript - Angular 2 : Update service variables and the view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40432339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com