angularjs-如何使用内部$interpolated表达式计算值
我正在寻找关于如何执行以下操作的建议:angularjs-如何使用内部$interpolated表达式计算值,angularjs,angularjs-directive,angularjs-interpolate,Angularjs,Angularjs Directive,Angularjs Interpolate,我正在寻找关于如何执行以下操作的建议: <local> <key>minLength</key> <val>{{policy.minLength}}</val> </local> 我有一个“翻译”服务,可以将键转换成字符串(用于本地化)。指令“local”将其称为。看起来是这样的: <local>key</local> 键 这将在翻译数据中查找“key”并返回其值,然后将其自身替换为该值
<local>
<key>minLength</key>
<val>{{policy.minLength}}</val>
</local>
我有一个“翻译”服务,可以将键转换成字符串(用于本地化)。指令“local”将其称为。看起来是这样的:
<local>key</local>
键
这将在翻译数据中查找“key”并返回其值,然后将其自身替换为该值。因此,可能键“username”返回值“User Name:”以包含在页面中
问题:我想支持带有“值”的字符串,例如,键“minLength”具有字符串值“最小长度为{0}个字符”。我想要如下的东西:
<local>
<key>minLength</key>
<val>{{policy.minLength}}</val>
</local>
最小长度
{{policy.minLength}
在计算
标记时,$scope.policy的值尚未设置(在链接阶段),我遇到了一个问题
我假设,由于我正在用一个值替换“local”标记,所以当$scope.policy.minLength实际有一个值时,实际的标记不会再被计算
有人能告诉我怎么做吗?我已经在$interpolate上查找了一些东西,但我认为
标记是replace:true这一事实让我很难受。有什么办法吗?您应该将指令设置为transclude,并使用内置指令控制内部语句的计算
看看这是否有帮助:
我知道怎么做了。使用上述示例:
- 获取键和任何
标记的文本内容 - 调用翻译服务来检索添加了
内容的格式字符串(键)。该值将是“最小长度为{policy.minLength}}}个字符” - 创建一块$watch。“current value function”部分对上述值创建$interpolate(),然后在当前范围的上下文中对其求值李>
- 将原始的
标记替换为
(即,等效于“Replace:true”) - 只要$watch的值发生变化,就用新值替换
的textContent李>
{{policy.minLength}
.Doh!按照建议删除了$scope的用法。我会看看我能为plunker想出什么。谢谢!