第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Angular 模板中的靜態(tài)函數(shù)

Angular 模板中的靜態(tài)函數(shù)

呼喚遠(yuǎn)方 2023-09-28 10:01:25
在我們的項(xiàng)目中,我們使用AirBnB的 linting-config 。這是一條規(guī)則,規(guī)定類方法必須使用靜態(tài)方法this或聲明為靜態(tài)方法。從理論上講,這條規(guī)則對(duì)我來(lái)說(shuō)很有意義,但在角度背景下似乎會(huì)引起一些問(wèn)題。想象一個(gè)像這樣的組件(Stackblitz):import { Component, VERSION } from '@angular/core';@Component({  selector: 'my-app',  template: '<p>{{doSomething("hello stack overflow")}}'})export class AppComponent  {  doSomething(string: string): string {    return string.toLocaleUpperCase();  }}現(xiàn)在,linter 會(huì)抱怨doSomething不使用它。Wen 現(xiàn)在可以使函數(shù)靜態(tài)來(lái)滿足它 - 但我們將無(wú)法在模板中使用該函數(shù)。一個(gè)結(jié)論是,它doSomething不應(yīng)該是 AppComponent 的一部分,而應(yīng)該是另一項(xiàng)服務(wù)的一部分。但是我們必須再次將靜態(tài)函數(shù)包裝在非靜態(tài)函數(shù)中。最終,包裝功能并不比原始功能小多少,因此整個(gè)外包給服務(wù)的事情似乎毫無(wú)意義。特別是因?yàn)槲覀冋劦降暮瘮?shù)明確僅對(duì)組件模板有用。這似乎是有問(wèn)題的,特別是對(duì)于trackByof 的跟蹤功能ngForOf- 它們本質(zhì)上傾向于不使用this關(guān)鍵字并且僅在模板中使用,因此它們不能是靜態(tài)的。請(qǐng)參閱從 angular2 模板調(diào)用靜態(tài)函數(shù)那么是否存在一種有意義的模式來(lái)處理模板中與此規(guī)則一起使用的函數(shù),或者它對(duì)于角度來(lái)說(shuō)不是一個(gè)有用的規(guī)則?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊

您還可以在 .ts 外部函數(shù)中定義,例如:


export function myFunction(name){

   return "Hello "+name;

}

您只需要一個(gè)組件


import {myFunction} from './myfile.ts' 

然后就可以在.ts中使用


   myFunction("Me");

如果你想在 html 中使用,你需要在 .ts 中聲明


  myFunctionI=myFunction;

并使用


  {{myFunctionI('me')}}

其他選項(xiàng):你的 .ts 喜歡


export function Util() {

    return new UtilClass()

}

class UtilClass {

   greet(name){

       return "Hello "+name;

   }

}

你可以


import {Util} from './myfile-util.ts' 


console.log(Util.greet("me"))


查看完整回答
反對(duì) 回復(fù) 2023-09-28
?
慕尼黑的夜晚無(wú)繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

我自己找到了一個(gè)令人滿意的解決方案:

我轉(zhuǎn)換這些函數(shù) - 小,與 UI 相關(guān),(僅)在模板中使用,不使用范圍 ( this) 作為字段,持有箭頭函數(shù)。

  doSomething = (string: string): string => string.toLocaleUpperCase();


查看完整回答
反對(duì) 回復(fù) 2023-09-28
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

對(duì)于你的情況,我認(rèn)為管道更好。



查看完整回答
反對(duì) 回復(fù) 2023-09-28
  • 3 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)