0

次のことを行う方法に関する提案を探しています。

キーを文字列に変換する「翻訳」サービスがあります(ローカリゼーション用)。ディレクティブ 'local' がこれを呼び出します。次のようになります。

<local>key</local>

これは、翻訳データで「キー」を検索し、その値を返し、それ自体をその値に置き換えます。そのため、キー「username」は、ページに含めるために値「User Name:」を返す可能性があります。

問題: 「値」を持つ文字列をサポートしたい。たとえば、キー「minLength」には文字列値「最小長は {0} 文字」があります。次のようなものが欲しいです:

<local>
  <key>minLength</key>
  <val>{{policy.minLength}}</val>
</local>

タグが評価されるまでに $scope.policy の値がまだ設定されていない場合に問題が発生しました<local>(リンク フェーズ)。

「local」タグを値に置き換えているため、$scope.policy.minLength に実際に値がある場合、実際のタグは再度評価されるために固執していないと思います。

誰かがこれを行う方法を教えてもらえますか? 私は $interpolate について調べましたが、<local>タグが replace:true であるという事実が私をここで殺していると思います。それを回避する方法はありますか?

4

2 に答える 2

0

ディレクティブをトランスクルードに設定し、構築されたディレクティブを使用して内部ステートメントの評価を制御する必要があります。

これが役立つかどうかを確認してください: https://docs.angularjs.org/api/ng/directive/ngTransclude

于 2016-01-11T01:31:45.130 に答える