補間された変数を持つ文字列を含む変数があります。以下のコードでは、その変数はテンプレートです。この変数をgenerateString関数に渡すとき、補間された変数に必要な値はgenerateString関数でのみ使用できるため、文字列補間を適用したいと思います。
void main() {
String template = '<p>\${name}</p>';
var res = generateString(template);
}
generateString(template) {
var name = 'abc';
print(template);
return template;
}
問題は、generateString fn内でテンプレートを印刷して返すときに、の<p>${name}</p>
代わりに取得することです<p>abc</p>
。ダーツに文字列補間を明示的に指示する方法はありますか?
私はダートに不慣れです。達成できるかどうかさえわかりません。これを行う方法を提案してください。
編集:他のユーザーからの入力に基づいて、提示されたシナリオについて明確にしたいと思います。テンプレート変数の値は文字列リテラルではありません。UIからユーザー入力として取得します。ここでは、コードを簡単にするために文字列リテラルとして示しました。また、私のシナリオでは、名前とテンプレートが同じスコープにないことを考慮してください。
これまでの他の答えは間違っています。
文字列補間($などを探す)は、ソースコードからメモリ内の値にコンパイルしているときにのみ発生します。その文字列にも$が含まれている場合、それはもはや特別なものではありません。
元のコンパイルステップを超えて補間をトリガーすることはできません。{{name}}
値のようなものを探すテンプレートシステムを作成し、それを現在の値のに置き換えることができname
ます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加