簡體   English   中英

來自html元素的Angular2函數調用,沒有加載事件(或類似事件)

[英]Angular2 function call from html element with no load event (or similiar)

我是Angular的新手,遇到了一個似乎可以解決javascript問題的問題,但它們不是很好。

我有一個帶有數組屬性的模型。 我為列表屬性構建了一些html選擇選項。 一切都很好。 當我嘗試設置默認值時,問題就來了。html元素沒有加載事件。

我嘗試了許多html元素,它們似乎也沒有加載事件,但是我當然可能做錯了。

我已經看到了將javascript標簽放在html之后的解決方案,我可以做到這一點,但是我確實在Angular中尋找一種更優雅的方法。

我看到了這樣的帖子,並認為這是我的答案,但是由於我同意,因此出現警告,因此它似乎不是一個好的解決方案。 不管我嘗試了什么,只是為了看看它是否可以工作,我得到了:

無法在“元素”上執行“ setAttribute”:'{{loadDefaults()}}'不是有效的屬性名稱

<span {{loadDefaults()}} ></span>

那么,如何在組件中觸發AS2函數以加載默認值?

HTML(順便說一下,這不是完整的頁面加載,因此沒有body標簽):

<tr>
   <td *ngFor="let loc of locOptions;">
      <span>{{loc.text}}</span>
      <input type="radio" name="radiogroup" [value]="loc.value" (change)="onSelectionChange(loc.value)">
  </td>
</tr>

編輯

我誤以為ngoninit會在html元素呈現之前就觸發得太早。

因此,也許有人建議我為模型添加默認的布爾值,並在呈現元素時綁定THAT。

在您的ngonit函數中,將this.locOptions設置為默認值。 以后可以在任何功能中更改該值,並且更改將反映在視圖中。 希望這對您有所幫助。

您應該使用ngOnInit初始化數據,然后調用從組件中檢索數據:

defaults : any;

ngOnInit { 
  this.defaults = loadDefaults();
}

loadDefaults() {
  //get data
}

HTML:

<span>{{defaults}}</span>

暫無
暫無

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

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