Javascript 如何将渲染指令的结果作为变量传递给角度平移
我有一个(相当复杂的)指令,可以用货币表示金额。它根据该货币的规则设置货币的格式(例如,如果货币有美分等),并根据区域设置设置数字和符号的格式,如果金额为负数,则添加符号和类别,依此类推 我想在翻译中使用指令的结果作为变量 有一个 简而言之,我想要的是:Javascript 如何将渲染指令的结果作为变量传递给角度平移,javascript,angularjs,angular-directive,angular-translate,Javascript,Angularjs,Angular Directive,Angular Translate,我有一个(相当复杂的)指令,可以用货币表示金额。它根据该货币的规则设置货币的格式(例如,如果货币有美分等),并根据区域设置设置数字和符号的格式,如果金额为负数,则添加符号和类别,依此类推 我想在翻译中使用指令的结果作为变量 有一个 简而言之,我想要的是: Your balance: <strong currency data-amount="-1337" data-symbol="'€'"></strong> <p translate translate-value
Your balance: <strong currency data-amount="-1337" data-symbol="'€'"></strong>
<p translate translate-values="{ currency: '€', amount: 1337, beneficiary: 'carol' }">PAY_TO</p>
(在plunker中,键是支付给正确的人
)
目标是用指令返回的格式化HTML片段替换{{amount}
注意,在plunker中,指令被简化了,实际上它考虑了很多事情,这些事情我真的不想添加到模板中。e、 g.基于ISO_代码的回退符号,根据货币确定要渲染的分数(例如,有些货币有0、2、3、5甚至8位数字;这些东西很复杂)
这种情况的常见模式是什么?将呈现指令的结果作为变量传递是正确的角度传递方式,还是一种难看的破解
我是否使用了错误的翻译或指令?我几乎无法相信这是如此困难,我找不到其他人在google或stackoverflow上寻找如何做到这一点。有一个角度转换选项,称为
translate compile
,您可以使用它来编译在当前范围()的上下文中传递到转换中的值
您可以这样使用它:
<p translate translate-values="{ amount: '<currency data-amount=\'1337\' data-symbol="\'€\'"></currency>', beneficiary: 'carol' }" translate-compile>PAY_TO_PROPER</p>
PAY\ u TO\ u property
请参阅随附的小提琴:
<p translate translate-values="{ amount: '<currency data-amount=\'1337\' data-symbol="\'€\'"></currency>', beneficiary: 'carol' }" translate-compile>PAY_TO_PROPER</p>