Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs-如何使用内部$interpolated表达式计算值_Angularjs_Angularjs Directive_Angularjs Interpolate - Fatal编程技术网

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
我不太明白。在我处理的时候,我可以拾取和编辑它们的文本内容。但是如果我计算{$scope.policy.minLength},那么(使用$interpolate),它是空的(“”)。我不确定转换会有什么帮助。我还尝试将文本内容放入值中(因此我将“最小长度为{{$scope.policy.minLength}个字符”作为字符串,但这本身当然不会被翻译(我们已经处于链接阶段)。您能解释一下transclude在这方面有什么帮助吗?(我确实理解它的一般功能).plunker怎么样?我们会看看是否能帮你解决。不要在角度表达式中使用
{{policy.minLength}
.Doh!按照建议删除了$scope的用法。我会看看我能为plunker想出什么。谢谢!