目前,我有這個小例子,如果我點擊圖像圖標,它會顯示問題的答案,當我再次單擊圖像時,它隱藏答案。擴展當前div時保持其他div的狀態
因此,鑑於這種情況下,我點擊第一個問題的圖像圖標,它顯示了答案。然後,如果我去下一個div並點擊圖像圖標,它應該顯示第二個div的答案並保持第一個div的狀態。也就是說,它不應該關閉第一個div。
目前,在我的示例中,當第二個div打開時,它關閉第一個div。如何在當前div擴展時保持頁面上其他div的狀態?
這裏的plunker:https://plnkr.co/edit/SzkrltPYPmt4WRijVFuD?p=preview
主要代碼:
@Component({
selector: 'my-app',
template: `
<div *ngFor="let part of parts">
<h1 class="question">{{part.question}}
<img (click)="myclick(part.id)" style="float:right;" [src]="getimage(part.id)"
class="ic_add"/></h1>
<p *ngIf="showanswer == part.id" class="answer" > {{part.answer}}</p>
<hr/>
</div>
`,
})
export class App {
public showAnswer = false;
parts = [];
shoanswer = 0;
imgsrc="https://cdn2.iconfinder.com/data/icons/rounded-functions-1/154/arrow-circle-direction-down-512.png";
constructor(){
this.parts = [
{
id: 1,
question: "Foo?",
answer: "Bar"
},
{
id: 2,
question: "ABC?",
answer: "123"
}
]
}
myclick(id) {
this.showanswer = this.showanswer == id ? 0 : id;
}
getimage(id) {
return this.showanswer == id ? "https://cdn2.iconfinder.com/data/icons/rounded-functions-1/154/arrow-circle-direction-down-512.png" : "images/ic-add.png";
}
}
你可能想看看這個plunker:HTTPS:/ /plnkr.co/edit/oVoPIA0ZbMMauth812Ls?p=preview –