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

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

如何為cms使用模板文字?

如何為cms使用模板文字?

catspeake 2021-06-21 13:01:53
我想用我的“mini-cms”用他們自己的語(yǔ)言來(lái)問(wèn)候用戶(hù)。所有字符串都存儲(chǔ)為“文本” - 不可能添加反引號(hào)。因此我必須: 1st。將我的 cms 字符串轉(zhuǎn)換為模板字符串("text ${value}" => text ${value}) 2nd。將值添加到此模板字符串中我怎樣才能做到這一點(diǎn)?myFunction (language) {   const name = "Tim";   // call to the cms for translation      // returns "Hi ${name}, how are you?";   const textResponse = getTranslation(language);   // How to convert textResponse into a template string and fill in ${name}    // with "Tim"?   const greetUserInHisLanguage = ????    return greetUserInHisLanguage;}
查看完整描述

3 回答

?
翻過(guò)高山走不出你

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

模板字符串是一種文字 - 這意味著,它們僅在編譯步驟中可用(包括由eval和朋友編譯,如另一個(gè)答案所示,該答案也警告不要使用它們)。


模板字符串的流式傳輸是一個(gè) XY 問(wèn)題。相反,考慮問(wèn)題本身,您希望通過(guò)填充插槽來(lái)翻譯模板。您可以使用正則表達(dá)式來(lái)做到這一點(diǎn),只要您沒(méi)有在插槽內(nèi)進(jìn)行計(jì)算(就像使用模板字符串那樣)。您還可能希望將局部變量更改為對(duì)象屬性,以便可以通過(guò)名稱(chēng)以編程方式訪問(wèn)它們,而無(wú)需eval.


       const context = { name: "Tim" };

       const textResponse = "Hi ${name}, how are you?";

    

       const greetUserInHisLanguage =

           textResponse.replace(/\${(.*?)}/g, (_, name) => context[name]);


       console.log(greetUserInHisLanguage);

如果您需要更復(fù)雜的東西,請(qǐng)考慮使用現(xiàn)有的模板庫(kù),如 Handlebars。


查看完整回答
反對(duì) 回復(fù) 2021-06-24
?
侃侃無(wú)極

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

試試這個(gè),你可以使用eval()


myFunction (language) {

   const name = "Tim";


   // call to the cms for translation

      // returns "Hi ${name}, how are you?";

   const textResponse = getTranslation(language);


   // How to convert textResponse into a template string and fill in ${name} 

   // with "Tim"?

   const greetUserInHisLanguage =eval('`'+textResponse+'`') // use eval()


   return greetUserInHisLanguage;

}

工作小提琴-


function myFunction(language) {

  const name = "Tim";


  // call to the cms for translation

  // returns "Hi ${name}, how are you?";

  const textResponse = getTranslation(language);


  // How to convert textResponse into a template string and fill in ${name} 

  // with "Tim"?

  const greetUserInHisLanguage = eval('`'+textResponse+'`') // use template literals here


  return greetUserInHisLanguage;

}


function getTranslation(language) {

  return "Hi ${name}, how are you?"


}



console.log(myFunction("spanish"))

值得注意

不推薦使用 eval(),因?yàn)樗菀资艿阶⑷牍?/p>


查看完整回答
反對(duì) 回復(fù) 2021-06-24
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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