如何像JSON.parse()在angular html模板本身中一樣執行javascript代碼,而不是在angular html模板檔案中創建一個方法并呼叫該方法
我嘗試了以下方法:
<p [innerHTML]="JSON.parse(['\\u2013'])[0]"></p>
<p>{{ JSON.parse(['\\u2013'])[0] }}</p>
但是在“AppComponent”型別上不存在獲取屬性“JSON”。
是否可以在 Angular html 模板本身上撰寫 javascript 代碼?
uj5u.com熱心網友回復:
您在 .html 中撰寫的所有內容都應該是“公共”(變數或物件或函式)。所以,我們不能使用,例如{{Math.random()}}nor {{JSON.parse('["\\u2013"]')[0]}}or{{Array.from('foo')}}
請參閱 JSON.parse 中的引號
好吧,您始終可以將 .ts 中的公共變數(通過缺陷所有變數都是公共的)分配給您想要的 javascript 物件
//declare in your .ts (I choose give the same "name" to the variable)
JSON:any=JSON
Math:any=Math
Array:any=Array
并在 .html 中使用
<div>
{{Math.random()*10}}
{{JSON.parse('["\\u2013"]')[0]}}
</div>
<div *ngFor="let a of Array.from('foo')">Hello</div>
順便說一句,如果你想執行 javascript,我建議在 ngOnInit 或 ngAfterViewInit 函式中執行
uj5u.com熱心網友回復:
您可以將代碼放在 component.ts 檔案中的函式中,然后從 html 檔案中呼叫該函式。
組件.ts
parseJson(data) {
return JSON.parse(data);
}
組件.html
<p>{{parseJson(['\\u2013'])[0]}}</p>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/529104.html
上一篇:附加html的角度呼叫函式
