AngularJS 中变量的动态名称

Dynamic name of a variable in AngularJS

我正在做一个 AngularJS 应用程序,但我遇到了这个问题:

我有一些文本必须是动态的...可以在以下变量中访问该文本:

"scope.text.text_id"

问题是用 angular 的 {{}}

设置这个 id 变量

我不能用作数组而不是对象,因为我有大量空 ID,所以其中大部分都没有用

有什么想法吗?

感谢大家的建议

如果您有范围 属性 id,您可以像这样使用括号表示法从对象 scope.text:

访问动态文本
{{ text['text_' + id] }}

当然,这很简单 javascript。您可以使用对象上的 [] 运算符在对象上设置 属性。

angular 的代码如下所示:

在控制器中:

$scope.id = "myprop";
$scope.text = {};
$scope.text['text_' + $scope.id] = "myValue";

并且在指令中:

{{text["text_" + id]}}

我制作了这个 plunker 来展示行为。 http://plnkr.co/edit/72mHY2AxQgwqTuXX9Myd