[英]Invoke a method in Angular2 using On load on div element and pass data from html as a parameter
[英]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.