簡體   English   中英

Angular:如何將 class 成員設為私有但可用於模板?

[英]Angular: how can I make a class member private but accesible for the template?

我有以下組件

組件 ts:

export class calculator {
    public elements;
    public findAll() {
     // backend stuff for retrieving data and assigning it to elements
    }

    public delete(obj) {
     // backend stuff for deleting obj
    }

    public save(obj) {
     // backend stuff for saving obj
    }
}

組件模板:

<div>
  <button (click)="findAll()">Start!</button>
  <div>
     <div *ngFor="let elem for elements">
       <span>{{elem.name}}</span>
       <button (click)="delete(elem)"></button>
     </div>
  </div>
</div>

我只想從 class 外部訪問保存方法,有沒有辦法做到這一點?

class anotherClass {
   this.calculator.save(formula); // can't access to findAll or delete
}

編輯:我嘗試使用受保護的訪問器,但出現錯誤:

'findAll' 受保護,只能在 class 'calculator' 及其子類中訪問。

不,您不能這樣做。模板不存在於組件類中,而是存在於它們之外。 因此模板無法訪問私有成員

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM